Syntaxe de mysql dans php

Syntaxe de mysql dans php - PHP - Programmation

Marsh Posté le 16-05-2007 à 21:27:44    

:hello:  
 
j'ai une petite question,  
 
quand je veut ajouter un utilisateur dans ma Bdd,  
 
ca marche aleatoirement, un coup la requete s'execute, un coup j'ai mon "or die (...)" qui se declenche,
 
j'execute ma requete ainsi :
 

Code :
  1. $Adduser = mysql_query("INSERT INTO utilisateurs
  2.                (
  3.                Email,
  4.                MotDePasse,
  5.                Privilege,
  6.                Civilite,
  7.                Prenom,
  8.                Nom,
  9.                Adresse,
  10.                CodePostal,
  11.                Ville,
  12.                Pays,
  13.                Telephone,
  14.                Moto
  15.                )
  16.         VALUES
  17.                (
  18.                \"$email\",
  19.                \"$pwd\",
  20.                \"$privilege\",
  21.                \"$civilite\",
  22.                \"$prenom\",
  23.                \"$nom\",
  24.                \"$adresse\",
  25.                \"$cp\",
  26.                \"$ville\",
  27.                \"$pays\",
  28.                \"$telephone\",
  29.                \"$moto\"
  30.                )"
  31.                ) or die("Inscription impossible, veuiller re-essayer" );


 
est-ce la bonne syntaxe ? nottament au niveau des \"  :sweat:  
 
Merci  :jap:

Reply

Marsh Posté le 16-05-2007 à 21:27:44   

Reply

Marsh Posté le 17-05-2007 à 08:17:15    

Il me parait plus simple d'utiliser l'opérateur de concaténéation qui est un point en PHP. Par exemple :

Code :
  1. $Adduser = mysql_query("INSERT INTO utilisateurs
  2.                                    (
  3.                                     Email,
  4. ...
  5.                         VALUES
  6.                                    (
  7.                                    '".$email."',"
  8.                                  ."'".$pwd."',"
  9. ...
  10.                                  ."'".$mot."'"
  11.                                  ." )"

Il faut aussi faire attention à ne pas avoir de guillemets dans le contenu des variables.

Reply

Marsh Posté le 17-05-2007 à 10:20:13    

ok, et si il y a une apostrophe dans le nom ?

Reply

Marsh Posté le 17-05-2007 à 11:49:57    

Reply

Marsh Posté le 17-05-2007 à 22:30:51    

'tain c'est festival cette cat [:petrus75]
 
tips : prepared statement, au pire mysql_real_escape_string, addslashes == magic_quote buggé
Evitez les tutos php trop vieux et pas à jour, ça ne peut que vous faire apprendre des conneries


---------------
HAHAHA I M USING TEH INTERNET
Reply

Marsh Posté le 18-05-2007 à 20:28:23    

$Adduser = mysql_query("INSERT INTO `utilisateurs`
                                                                (
                                                                `Email`,
                                                                `MotDePasse`,
                                                                `Privilege`,
                                                                `Civilite`,
                                                                `Prenom`,
                                                                `Nom`,
                                                                `Adresse`,
                                                                `CodePostal`,
                                                                `Ville`,
                                                                `Pays`,
                                                                `Telephone`,
                                                                `Moto`
                                                                )
                                    VALUES
                                                                (
                                                                '".addslashes($email)."',
                                                                '".addslashes($pwd)."',
                                                                ....
                ....
                ....
                bla bla bla :)
                                                                )"
                                                                ) or die("Inscription impossible, veuiller re-essayer" );

Reply

Marsh Posté le 18-05-2007 à 20:31:41    

merci :jap:

Reply

Marsh Posté le 18-05-2007 à 20:44:03    

:jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed