Erreur de syntaxe mysql

bretonm2004 Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   -  
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

bonjour

j'ai une erreur de ce type
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id="22"' at line 1

voici la ligne en question

$id = $_POST['id']; // recuperation de l'id a modifier
$sql = 'SELECT * FROM servicenonpubliee WHERE id=".$id."';
$req = mysql_query($sql) or die(mysql_error());

while($row=mysql_fetch_array($req)) {
$typedannonce=$row['typedannonce']; $email=$row['email']; $titre=$row['titre']; $message=$row['message'];
}
?>

merci de m aider



2 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
tu n'as pas fait la concaténation sur les bonnes '

$sql = 'SELECT * FROM servicenonpubliee WHERE id="'.$id.'"'; 

// ou

$sql = "SELECT * FROM servicenonpubliee WHERE id='".$id."'"; 
0
bretonm2004 Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   2
 
dans les 2 cas j'obtient une erreur sql comme dans mon precedent messages
0
HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
Tu n'as d'ailleurs pas besoin des quotes pour un ID, ce n'est pas une chaîne de caractères.
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Tu n'as d'ailleurs pas besoin des quotes pour un ID, ce n'est pas une chaîne de caractères.

ça dépend du contenu et du type du champ id
- si c'est un nombre et un champ INT effectivement il ne faut pas les '
- si c'est une chaine (pourquoi pas ?) et un champ type varchar il les faut

mais le pb est de syntaxe dans le texte de la requette, fais un echo:

$sql = "SELECT * FROM servicenonpubliee WHERE id='".$id."' "; 

echo "Texte requette: ".$sql;
0