8797 sujets

Développement web côté serveur, CMS


 $requete = mysql_query("SELECT vehicule_actuel FROM membres WHERE vehicule_actuel LIKE  'ap%' AND id = ". $id." " ) or die(mysql_error());
$res = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error()); 


retourne Erreur SQL !
Resource id #9

je suppose que le soucis vient du like et and mais je ne vois pas Smiley confused
Modifié par Rouge (08 Sep 2008 - 21:52)
Euh, y a un problème dans ton code, tu as mis l'exécution de ta requête (mysql_query) dans $requete au lieu de mettre uniquement ta requête...

Au passage, ton $id n'est pas du tout echappé par un mysql_real_escape_string. Si ton id est un entier, tu devrais forcer le typage en (int) pour éviter les problèmes.
Salut,

histoire d'insister (lourdement ? Smiley langue ) et comme ce n'est pas la première fois que je te le dis :

soit tu fais :
$resultat = mysql_query("SELECT ...") or die(mysql_error());
soit tu fais
$requete = "SELECT...";
$resultat = mysql_query($requete) or die(mysql_error());
mais pas les 2.
Modérateur
Salut,

Ton problème est simple comme tout :

Tu mets une requête dans une requete Smiley biggol avec un die imbriqué Smiley countershot .

Ceci sera plus juste :

$sql_sel = "SELECT vehicule_actuel FROM membres WHERE vehicule_actuel LIKE  'ap%' AND id = ". $id." ";

$res_sql_sel=mysql_query($sql_sel) or die(mysql_error());



++
Mince, désolé pour l'erreur (quand on code en regardant la télé Smiley langue )

je pense que ceci fonctionne mieux:

 $requete = "SELECT vehicule_actuel FROM membres WHERE vehicule_actuel LIKE  'ap%' AND id = {$id} ";
$res = mysql_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysql_error()); 
$data= mysql_fetch_assoc($res);
$véhicule_actuel= $data['vehicule_actuel'];
etc.................
Re',

je ne comprends pas bien l'intérêt du LIKE dans ta requête puisque tu renseignes l'id et que de toute façon tu n'auras qu'un résultat. Smiley rolleyes

Il serait plus logique de récupérer le champ et de le vérifier dans le code PHP.

Quoi qu'il en soit, puisque tu ne fais pas de boucle, autant remplacer
$data= mysql_fetch_assoc($res);
$véhicule_actuel= $data['vehicule_actuel'];
par
$véhicule_actuel = mysql_result($res, 0);

Et si tu considères que ce sujet est [Résolu] merci de l'indiquer dans le titre en éditant ton premier post. Smiley cligne