par
zeus » 08 janv. 2008, 23:31
Il faut savoir que, dans ce genre de message d'erreur, ce qui est juste après le "near '" est l'endroit précis de la requête auquel MySQL à planté.
Dans ton cas, il s'agit d'un quote (') juste avant le "AND code_postal_1=..."
Pour débuguer ce genre d'erreur, il faut commencer par
afficher la requête générée
Pour cela, il faut commencer par plusieurs règles de base :
1/ on place la requête dans une variable, pas directement dans mysql_query()
exemple
$query = "SELECT ...";
$result = mysql_query( $query );
alors que toi, tu utilises
$result = mysql_query( "SELECT ..." );
2/ on extrait les variables des chaines
exemple
$query = "SELECT id FROM table WHERE nom = '". $nom ."' AND prenom = '". $prenom ."'";
alors que toi, tu utilises
$query = "SELECT id FROM table WHERE nom = '$nom' AND prenom = '$prenom'";
3/ En cas d'erreur sur une requête, on affiche la requête générée
Exemple
$query = "SELECT ...";
echo $query;
(d'où l'importance de l'étape 1)
NOTE IMPORTANTE : tu n'es pas nouveau sur le forum. Tu sais donc qu'il faut toujours commencer par une recherche. Dans ce cas, tu aurais trouvé des tas de sujets.
De plus, je suis persuadé que ce que je viens de te dire, nous te l'avons déjà dit (je n'ai ni le temps, ni la patience de faire ces recherches pour toi, mais j'en suis persuadé).
Donc, je voudrais une bonne fois pour toute que tu te bouge et que tu essayes de comprendre ce qu'on te dit et que tu arrêtes de nous prendre pour des débugeurs.
Il faut savoir que, dans ce genre de message d'erreur, ce qui est juste après le "near '" est l'endroit précis de la requête auquel MySQL à planté.
Dans ton cas, il s'agit d'un quote (') juste avant le "AND code_postal_1=..."
Pour débuguer ce genre d'erreur, il faut commencer par [u]afficher la requête générée[/u]
Pour cela, il faut commencer par plusieurs règles de base :
1/ on place la requête dans une variable, pas directement dans mysql_query()
exemple
[php]$query = "SELECT ...";
$result = mysql_query( $query );[/php]
alors que toi, tu utilises
[php]$result = mysql_query( "SELECT ..." );[/php]
2/ on extrait les variables des chaines
exemple
[php]$query = "SELECT id FROM table WHERE nom = '". $nom ."' AND prenom = '". $prenom ."'";[/php]
alors que toi, tu utilises
[php]$query = "SELECT id FROM table WHERE nom = '$nom' AND prenom = '$prenom'";[/php]
3/ En cas d'erreur sur une requête, on affiche la requête générée
Exemple
[php]$query = "SELECT ...";
echo $query;[/php]
(d'où l'importance de l'étape 1)
[b]NOTE IMPORTANTE :[/b] tu n'es pas nouveau sur le forum. Tu sais donc qu'il faut toujours commencer par une recherche. Dans ce cas, tu aurais trouvé des tas de sujets.
De plus, je suis persuadé que ce que je viens de te dire, nous te l'avons déjà dit (je n'ai ni le temps, ni la patience de faire ces recherches pour toi, mais j'en suis persuadé).
Donc, je voudrais une bonne fois pour toute que tu te bouge et que tu essayes de comprendre ce qu'on te dit et que tu arrêtes de nous prendre pour des débugeurs.