[PHP] Prob requête SQL... (débutant)

Prob requête SQL... (débutant) [PHP] - Programmation

Marsh Posté le 21-12-2001 à 18:02:50    

Voila , après m'être tapé un très bon tutoriel sur MySQL et PHP sur le site de www.mysql.com , j'ai commencer mon projet par un truc plutôt simple (ajouter un client dans une table apellé client) Mon prob doit surment être simple pour vous, mais depuis  je cerche depuis une heure et je trouve pas  
 
Voici mon code qui ajoute le client :
 
<?php
$dbcnx = @mysql_connect("censuré", "censuré", "censuré" );
 
if (!$dbcnx) {  
  echo( "<P>Incapable de se connecter " .        
  "au serveur de base de données!.</P>" );  
 exit();
}
if (! @mysql_select_db("lithopro" ) ) {  
 echo( "<P>Incapable de trouver la base de donnée " .        
 "Lithopro en ce moment !</P>" );  
 exit();
}
 
$sql = "INSERT INTO client SET".              
 "nomClient='$nom',".  
 "addrClient='$adresse',".  
 "villeClient='$ville',".              
 "cpClient='$code_postal',";
       
 
if ( mysql_query($sql) ) {  
 echo("<P>$nom à été enregistré avec succes!</P>" );
}  
else {  
 echo("<P>Erreur  : " .        
 mysql_error() . "</P>" );
}        
?>
 
et j'obtient l'erreur suivante :  
Erreur : Something is wrong in your syntax près de 'SETnomClient='Prestilux inc.',addrClient='3537 boul. Le Corbusie' à la ligne 1
 
 
 
Vous voyez le problème ? car moi je voit pas d'erreur :(

Reply

Marsh Posté le 21-12-2001 à 18:02:50   

Reply

Marsh Posté le 21-12-2001 à 20:50:18    

Salut, bon, je suis pas un expert en php mais par contre en sql, je connais pas mal de truc.
 
Tout ce que je peux te dire c'est qu'en sql , l'insertion d'un enregistrement dans un table se fait de cette manière :
 
INSERT INTO table VALUES (champs1,champs2,champs3...,champsN)
 
Du coups essaie d'intégrer cette syntaxe en php  
ex :
 
$sql = "INSERT INTO client VALUES (".              
"'$nom',".  
"'$adresse',".  
"'$ville',".              
"'$code_postal';)";  
 
A condition que ta table soit du style  
 
client ( nom,adresse,ville,cp)
 
voila a+

Reply

Marsh Posté le 21-12-2001 à 21:05:16    

C'est peut etre juste une faute de frappe mais faudrait un espace entre SET et nomClient.
 
Rectificatif : Regarde plutot le post de erwan_.
SET, c'est pour les modifications d'enregistrements existants (UPDATE).

 

[edtdd]--Message édité par bjbebert--[/edtdd]

Reply

Marsh Posté le 21-12-2001 à 21:43:42    

comme erwan_ le dit une insertion se fait de cette manière :
 
INSERT INTO [table] (nom,rue,ville) VALUES ('$nom','$rue','$ville';)
 
ce que tu a fait avec le SET c'est la sytaxe pour la commande UPDATE qui permet de modifier un enregistrement d'une base de donnée.


---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Marsh Posté le 21-12-2001 à 23:19:08    

Ah pourtnat sur le site de www.mysql.com , il dsient que les 2 manières sont bonne (en fait j,ai copie/coller leur example et j'ai modifier avec mes paramêtres)

Reply

Marsh Posté le 21-12-2001 à 23:31:42    

Update :
 
$sql ="INSERT INTO client " .  
 "(nomClient,adresseClient,villeClient,cpClient)" .
 "VALUES ('$nom','$adresse,'$ville','$code_postal';)";
 
Mais ne semble pas mieux fonctionner...

Reply

Marsh Posté le 22-12-2001 à 00:03:12    

Affiche la chaine $sql. Pour voir ce qui est exécuté réellement.

Reply

Marsh Posté le 22-12-2001 à 04:42:15    

il manque un ' à '$adresse'
 
$sql ="INSERT INTO client " .  
"(nomClient,adresseClient,villeClient,cpClient)" .  
"VALUES ('$nom','$adresse' ,'$ville','$code_postal';)";  
 
 
tes attributs existent bien ? (attention la casse est importante !)
 
tu postes des ' dans tes variables ? dans ce cas tu dois peut-être les escapées \' si ton gpc_quote=off dans php.ini

Reply

Sujets relatifs:

Leave a Replay

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