IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Probleme avec la fonction sqlsrv_query() pour php/sqlserver 2008


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 210
    Points : 79
    Points
    79
    Par défaut Probleme avec la fonction sqlsrv_query() pour php/sqlserver 2008
    Bonjour,

    J'ai un souci avec la fonction sqlsrv_query() depuis 2 jours et ça rend fou !!!
    En fait, j'ai un formulaire avec des données à saisir et via ce formulaire, les données doivent être enregistrées dans une base de données sqlserver 2008. A chaque fois que je valide le formulaire, j'ai l'erreur suivante sachant que la connexion est réussi:

    Connection established.
    Warning: sqlsrv_query() expects parameter 1 to be resource, object given in D:\Program Files\EasyPHP-5.3.6.0\www\base\abc.php on line 36
    Erreur. Pas d'enregistrement effectuéArray ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -14 [code] => -14 [2] => An invalid parameter was passed to sqlsrv_query. [message] => An invalid parameter was passed to sqlsrv_query. ) )


    Voici le code du formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <html>
    <form id="Registre Personnes" name="Registre Personnes" method="POST" action="abc.php">
      <p>
        <label for="CNAP"><strong>CNAP</strong></label>
        <input type="text" name="CNAP" id="CNAP" />
     
      <p>
        <label for="Nom"><strong>Nom</strong></label>
        <input type="text" name="Nom" id="Nom" />
    </span></p>
      <p>
        <label for="Prenom"><strong>Prenom</strong></label>
        <input type="text" name="Prenom" id="Prenom" />
    </span></p>
      <p>
        <label for="Sexe"><strong>Sexe</strong></label>
        <select name="Sexe" id="Sexe">
          <option>Masculin</option>
          <option>Feminin</option>
        </select>
      </p>
      <p>
        <label for="Date_de_Naissance"><strong>Date de Naissance</strong></label>
        <input onclick="ds_sh(this);" type="text" name="Date_de_Naissance" id="Date_de_Naissance" style="cursor: text"/>
     
      <p>
        <label for="Date_de_Creation"><strong>Date de Creation</strong></label>
        <input onclick="ds_sh(this);" type="text" name="Date_de_Creation" id="Date_de_Creation" style="cursor: text"/>
     
      <p>
        <input type="submit" name="button" id="button" value="Valider" />
        <input type="reset" name="button2" id="button2" value="Réinitialiser" />
    </form>
    </html>

    Voici le fichier php de traitement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <?php
    # FileName="Connection_php_mysql.htm"
    # Type="SQLSERVER"
    # HTTP="true"
    $Mainconnect = "KGR50\SQLEXPRESS";
    $database_Mainconnect = "alpha_db";
    $username_Mainconnect = "alpha";
    $password_Mainconnect = "gamma";
     
    /*
    Connect to the local server using Windows Authentication and specify
    the AdventureWorks database as the database in use. To connect using
    SQL Server Authentication, set values for the "UID" and "PWD"
     attributes in the $connectionInfo parameter. For example:
    */
    $connectionInfo = array("UID" =>$username_Mainconnect, "PWD" =>$password_Mainconnect, "Database"=>$database_Mainconnect);
     
    /*$serverName = $hostname_Mainconnect;*/
    $conn = new PDO("sqlsrv:server=$Mainconnect;database=$database_Mainconnect",$username_Mainconnect,$password_Mainconnect);
     
    if($conn)
    {
         echo "Connection established.\n";
    }
    else
    {
         echo "Connection could not be established.\n";
    }
     
    //-----------------------------------------------
    // Perform operations with connection.
    //-----------------------------------------------
    $insertSQL="INSERT INTO registre_personnes (CNAP, Nom, Prenom, Sexe, Date_de_Naissance, Date_de_Creation)
    VALUES ('$_POST[CNAP]','$_POST[Nom]','$_POST[Prenom]','$_POST[Sexe]','$_POST[Date_de_Naissance]','$_POST[Date_de_Creation]')";
     
    if(sqlsrv_query($conn,$insertSQL))
    {
          echo "Enregistrement effectué";
    } 
    else
    {
          echo "Erreur. Pas d'enregistrement effectué";
          die(print_r(sqlsrv_errors(),true));
    }
     
    ?>
    Merci pour votre aide !!!!

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    a première vue, IF($conn) sera toujours verifié. $conn est un objet, et vous testez son existence.
    Vous ne testez pas si la connexion à bien été établie. D’ailleurs je ne suis pas sur que vous l’établissiez, il faudrait voir la doc de PDO pour cela.

    N'y aurait-il pas une méthode "connect()" a appeler ?
    N'y a-t-il pas non plus une méthode retournant l’état de la connexion ?

    vous aurez surement plus de chance dans le forum PHP...

Discussions similaires

  1. [WD17] Probleme avec la fonction "POUR TOUTE LIGNE DE"
    Par lololebricoleur dans le forum WinDev
    Réponses: 19
    Dernier message: 24/04/2012, 23h58
  2. [SQL-Server] Probleme avec la fonction sqlsrv_query() pour php/sqlserver 2008
    Par lemzo84 dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 19/08/2011, 20h29
  3. un petit probleme avec la fonction include php
    Par Ricus28 dans le forum Langage
    Réponses: 7
    Dernier message: 20/08/2006, 14h27
  4. [Mail] probleme avec la fonction mail de php
    Par fdavid dans le forum Langage
    Réponses: 3
    Dernier message: 15/06/2006, 15h48
  5. [LG]Probleme avec une fonction
    Par xavier1936 dans le forum Langage
    Réponses: 7
    Dernier message: 08/02/2005, 22h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo