Page 1 sur 1

syntaxe requete

Posté : 15 sept. 2005, 15:28
par donatello
Bonjour,
j'ai créé une requête pour mysql
$query1 = "SELECT * FROM '". $table . "' WHERE Idannonce ='". $id ."'";
et je reçois l'erreur 1064
Erreur de syntaxe près de ''achat' WHERE Idannonce ='1'' à la ligne 1
je ne vois pas où j'ai péché...pouvez vous m'aider?

Posté : 15 sept. 2005, 15:36
par Cyrano
Tu as péché mon fils par excès de zèle en mettant des apostrophes autour d'une donnée de type Int : Tu me diras pour ta repentance 10 "Notre PHP qui êtes au Web, Que votre code soit corrigé..."

Posté : 15 sept. 2005, 15:50
par Invité
ach, merci grand prêtre, je mérite de brûler en enfer.
sinon j'ai un parse error à cette ligne, que je ne comprends pas mieux
$query2 = "INSERT INTO corbeille_annonces VALUES ('".$ret1['Idannonce']."','".$ret1['table']."','".$ret1['Date']."','".$ret1['Type']."','".$ret1['Pieces']."','".$ret1['Adresse']."','".$ret1['Cpostal']."','".$ret1['Ville']."','".$ret1['Prix']."','".$ret1['Surface']."','".$ret1['Annonce']."')";

Posté : 15 sept. 2005, 16:11
par charabia
Il vaut mieux que tu utilises cette commande que la tienne :

Code : Tout sélectionner

$query2 = "INSERT INTO corbeille_annonces(champ1,champ2,champ3,champ4,champ5,champ6) VALUES('".$valeur1."','".$valeur2."','".$valeur3."','".$valeur4."','".$valeur5."','".$valeur6."')";
Sinon j'avoue ne pas voir d'erreurs réels dans ta commande :-k

As-tu testé que toutes les variables existent et retournent bien quelque chose ?

Posté : 15 sept. 2005, 16:13
par Cyrano
Peux-tu m'afficher le message d'erreur exact, parce qu'à première vue, je ne vois pas d'etteur sauf des apostrophes encore autour d'une vauer de type (probable) INT : ce qui devrait donc donner:
<?php
$query2 = "INSERT INTO corbeille_annonces 
           VALUES (". $ret1['Idannonce'] .",
                   '". $ret1['table'] ."',
                   ". $ret1['Date'] .",
                   '". $ret1['Type'] ."',
                   '". $ret1['Pieces'] ."',
                   '". $ret1['Adresse'] ."',
                   '". $ret1['Cpostal'] ."',
                   '". $ret1['Ville'] ."',
                   '". $ret1['Prix'] ."',
                   '". $ret1['Surface'] ."',
                   '". $ret1['Annonce'] ."'
                  )";
?>
L'autre problème probable, c'est que certaines valeurs comportent dansle texte des apostrophes non échappées qui vient en conflit avec les apostrophes SQL de la requête: un addslashes() serait approprié sur les données textes.

Posté : 15 sept. 2005, 16:41
par Invité
ok, peeerfecto, tout fonctionne. merci bcp.