JeuWeb - Crée ton jeu par navigateur
Requête : Warninig [reglé] - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Requête : Warninig [reglé] (/showthread.php?tid=1265)

Pages : 1 2


Requête : Warninig [reglé] - gaby - 09-06-2007

Bonjour,

Dans mon fichier je fait deux requêtes

Code PHP :
<?php 
id
=1;

$sql_principal = mysql_query("SELECT * FROM joueurs WHERE id=' . id . '") or die(mysql_error());

$sql_ressources = mysql_query("SELECT * FROM ressources WHERE id=' . 1 . '") or die(mysql_error());





Ceci m'affiche

Citation :Champ 'id' inconnu dans where clause




Pouvez vous m'aider merci ?


RE: Requête : Warninig - Kassak - 09-06-2007

$id=1;

$sql_principal = mysql_query("SELECT * FROM joueurs WHERE id=' .$id . '") or die(mysql_error());

$sql_ressources = mysql_query("SELECT * FROM ressources WHERE id=' . 1 . '") or die(mysql_error());


RE: Requête : Warninig - gaby - 09-06-2007

pardon kassak je me suis trompé ma vrai requête est celle la et sa ne marche toujours pas Sad

Code PHP :
<?php 
$sql_principal
= mysql_query("SELECT * FROM joueurs WHERE id=' . $id . '") or die(mysql_error());

$sql_ressources = mysql_query("SELECT * FROM ressources WHERE id='. $id . '") or die(mysql_error());



RE: Requête : Warninig - gaby - 09-06-2007

ou c'est un chiffre entier

je dois faire comment pour y remédier ?


RE: Requête : Warninig - Sephi-Chan - 09-06-2007

gaby a écrit :pardon kassak je me suis trompé ma vrai requête est celle la et sa ne marche toujours pas Sad

Code PHP :
<?php 
$sql_principal
= mysql_query("SELECT * FROM joueurs WHERE id=' . $id . '") or die(mysql_error());

$sql_ressources = mysql_query("SELECT * FROM ressources WHERE id='. $id . '") or die(mysql_error());
Ca sert à rien de concaténer si tu utilises les doubles quotes.

Ainsi ces requêtes conviennent aussi bien (plus lisible) :
Code PHP :
<?php 
$sql_principal
= mysql_query("SELECT * FROM joueurs WHERE id=$id") or die(mysql_error());

$sql_principal = mysql_query("SELECT * FROM ressources WHERE id=$id") or die(mysql_error());

Si tu as Champ 'id' inconnu dans where clause en retour, c'est que le champ id n'existe pas dans ta table, du moins pas de type VARCHAR, TEXT, BLOB ou CHAR.


Sephi-Chan


RE: Requête : Warninig - Wess - 09-06-2007

Salut!

Est ce que je pourrais connaitre la différence entre :

Code :
$sQueryPlayer='SELECT * FROM joueurs WHERE id='.$id;
$rPlayer = mysql_query($sQueryPlayer) or die(mysql_error());

et...

Code :
$QueryPlayer=mysql_query("SELECT * FROM joueurs WHERE id='".$id."'");

Est ce que c'est juste pour une question de lisibilité ou plutôt de rapidité dans l'execution de la requête ?

Wess


RE: Requête : Warninig - Sephi-Chan - 09-06-2007

C'est pour la lisibilité et pour débuguer plus facilement en affichant la requête. Mais on peut mieux faire niveau lisibilité, en utilisant sprintf().


Sephi-Chan


RE: Requête : Warninig - gaby - 09-06-2007

merci sephi-chan sa marche


RE: Requête : Warninig [reglé] - Sephi-Chan - 09-06-2007

Je t'en prie, on est là pour ça. Wink

Il ne faut entourer les variables par des guillemets simples ' que quand ce sont des chaînes de caractères. Jamais pour les nombres.


Sephi-Chan


RE: Requête : Warninig [reglé] - pascal - 10-06-2007

le problème ici n'est pas du typage, le problème c'est :
_ concaténation avec ' et " mélangés n'importe comment
_ manière d'écrire le code "sale", ne permettant pas un debuggage ( concaténation pas hyper lisible, requête impossible à afficher pour debug )

debug inutile pour moi aussi, un rappel vers de bonnes habitudes + lock aurait fait l'affaire.

A+

Pascal