Erreur de syntaxe mysql

bretonm2004 Messages postés 332 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
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 5413 Statut Membre 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 332 Statut Membre 2
 
dans les 2 cas j'obtient une erreur sql comme dans mon precedent messages
0
HostOfSeraphim Messages postés 7340 Statut Contributeur 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 5413 Statut Membre 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