Erreur de syntaxe mysql

Fermé
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 - 13 juin 2010 à 21:24
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 14 juin 2010 à 08:54
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



A voir également:

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
13 juin 2010 à 22:55
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 vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
13 juin 2010 à 22:59
dans les 2 cas j'obtient une erreur sql comme dans mon precedent messages
0
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 608
14 juin 2010 à 01:28
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
14 juin 2010 à 08:54
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