Bonjour,
je pense qu'on sera d'accord pour dire que les erreurs de syntaxe lors d'un envoi de requête SQL en PHP sont le lot quotidien de nombreux d'entre nous...
Donc je m'en remets à vous pour m'aider à pointer du doigt l'apostrophe en trop, le '.' de concaténation manquant, ou tout autre débilité du même genre, qui, après de nombreuses heures à décrypter la chaîne, ne m'apparaît pas visible.
Il s'agit d'une requête INSERT, pour rajouter un enregistrement dans ma base appelée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // Une syntaxe possible (sources: internet) $result = mysql_query("INSERT INTO members_profile SET userId='$userId', name='$name', firstname='$firstname', gender='$gender', jobTitle='$jobTitle', email='$email', phone='$phone', signature='$signature' ;") or die ("Requête invalide : <br />".mysql_error()); // la syntaxe que j'utilise le plus souvent $result = mysql_query("INSERT INTO members_profile ('userId', 'name', 'firstname', 'gender', 'jobTitle', 'email', 'phone', 'signature') VALUES (".$newId." , ' ".$name." ', ' ".$firstname. " ', ' ".$gender. " ', ' ".$jobTitle. " ' , ' ".$email." ' , ' ".$phone. " ' , ' ".$signature." ' );") or die ("Requête invalide : <br />".mysql_error());
Seul userId est de type INT (shortInt pour être précis), le reste étant du VARCHAR, il est légitime d'y encadrer les valeurs des $variables php par des guillemets simples. N'est-ce pas ?
Nota: j'ai tout de même testé bon nombre de combinaisons possibles (tout avec les guillemets, tout sans, tout avec guillemets sauf le userId de type INT ...)
Merci de m'apporter une réponse pour l'une ou l'autre des syntaxes.
Cordialement,
B.
Partager