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

PHP & Base de données Discussion :

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


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    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
    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
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    tu mélanges 2 extensions PDO_sqlsrv et sqlsrv, donc c'est l'une ou l'autre

  3. #3
    Membre confirmé
    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
    Par défaut Probleme avec la fonction sqlsrv_query() pour php/sqlserver 2008
    Merci de ta réponse, mais pourrais-tu modifier le code pour que je puisse voir si possible. Merci.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par lemzo84 Voir le message
    Merci de ta réponse, mais pourrais-tu modifier le code pour que je puisse voir si possible. Merci.
    si tu te connecte sur PDO utilise PDO query, ou exec
    de plus ton code n'est pas sécurisé il faut échapper les valeurs ou faire une requete préparée

  5. #5
    Membre confirmé
    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
    Par défaut Probleme avec la fonction sqlsrv_query() pour php/sqlserver 2008
    Pourrais-tu modifier mon code en haut stp , car je suis super novice avec SQLServer 2008. J'ai l'habitude de bosser avec Oracle ou Mysql. Merci.

  6. #6
    Membre confirmé
    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
    Par défaut Probleme avec la fonction sqlsrv_query() pour php/sqlserver 2008
    Voila ce que j'obtiens quand je fais la modif:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Connection established.
    Fatal error: Non-static method PDO::exec() cannot be called statically in D:\Program Files\EasyPHP-5.3.6.0\www\base\abc.php on line 36

  7. #7
    Membre actif
    Homme Profil pro
    élève ingénieur d'état génie Télécommunications et Réseaux
    Inscrit en
    Août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : élève ingénieur d'état génie Télécommunications et Réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 21
    Par défaut Aidez moi pour comprendre
    bonsoir à tous,

    J'essaye de comprendre le bout de code suivant :

    sqlsrv_query ( resource $conn , string $sql [, array $params [, array $options ]] )

    L'attribut params : je le comprends pas du tout

    Merci pour votre aide d'avance

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par abd_aabd Voir le message
    bonsoir à tous,

    J'essaye de comprendre le bout de code suivant :

    sqlsrv_query ( resource $conn , string $sql [, array $params [, array $options ]] )

    L'attribut params : je le comprends pas du tout

    Merci pour votre aide d'avance
    http://msdn.microsoft.com/fr-fr/libr...sql.90%29.aspx

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. Réponses: 1
    Dernier message: 08/06/2011, 11h09
  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