Variable dans WHERE
lola
-
le père -
le père -
Bonjour,
je cherche a intégré une variable dans WHERE mais sa ne marche pas
ce code la fonction
<?php
mysql_connect("localhost", "root", "root");
mysql_select_db("bdac.net");
$reponse = mysql_query("SELECT * FROM vote WHERE artiste='antoine''");
?>
pour que ce soit plus dynamique jais remplacé artiste='antoine' par artiste='$_GET['artiste']' mais la sa marche plus
<?php
mysql_connect("localhost", "root", "root");
mysql_select_db("mabd");
$reponse = mysql_query("SELECT * FROM vote WHERE artiste='$_GET['artiste']'");
?>
comment faire, merci d'avance !!!
je cherche a intégré une variable dans WHERE mais sa ne marche pas
ce code la fonction
<?php
mysql_connect("localhost", "root", "root");
mysql_select_db("bdac.net");
$reponse = mysql_query("SELECT * FROM vote WHERE artiste='antoine''");
?>
pour que ce soit plus dynamique jais remplacé artiste='antoine' par artiste='$_GET['artiste']' mais la sa marche plus
<?php
mysql_connect("localhost", "root", "root");
mysql_select_db("mabd");
$reponse = mysql_query("SELECT * FROM vote WHERE artiste='$_GET['artiste']'");
?>
comment faire, merci d'avance !!!
A voir également:
- Variable dans WHERE
- Where is it - Télécharger - Gestion de fichiers
- Vba range avec variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp - Forum Microsoft Office
6 réponses
Bonjour
Tu n'étais pas obligé d'utiliser la concaténation.
En PHP tu as tout à fait le droit de mettre une variable directement dans une chaîne entre "", elle est bien interprétée comme une variable.
Mais il y a une petite subtilité avec les tableaux associatifs : il ne faut pas mettre de ' ni de " autour de l'indice quand on les utilise à l'intérieur d'une chaîne
Il y aurait d'autres manières de l'écrire sans concaténation, avec des { }
Voir la partie "analyse des variables" dans la doc :
https://www.php.net/manual/fr/language.types.string.php#language.types.string.syntax.double
Tu n'étais pas obligé d'utiliser la concaténation.
En PHP tu as tout à fait le droit de mettre une variable directement dans une chaîne entre "", elle est bien interprétée comme une variable.
Mais il y a une petite subtilité avec les tableaux associatifs : il ne faut pas mettre de ' ni de " autour de l'indice quand on les utilise à l'intérieur d'une chaîne
$reponse = mysql_query("SELECT * FROM vote WHERE artiste='$_GET[artiste]'"); (sans ' autour de artiste) est correct
Il y aurait d'autres manières de l'écrire sans concaténation, avec des { }
Voir la partie "analyse des variables" dans la doc :
https://www.php.net/manual/fr/language.types.string.php#language.types.string.syntax.double
Chez moi ca marche comme ca :
$reponse = mysql_query("SELECT * FROM vote WHERE artiste='".$_GET["artiste"]."'");
$reponse = mysql_query("SELECT * FROM vote WHERE artiste='".$_GET["artiste"]."'");
Je veux pas dire de conneries mais il me semble que ca devrait être :
$reponse = mysql_query("SELECT * FROM vote WHERE artiste=".$_GET['artiste']."'");
$reponse = mysql_query("SELECT * FROM vote WHERE artiste=".$_GET['artiste']."'");
bonjour JypX
ca marche au poile avec '".$_GET["artiste"]."' merci, mais quelqu'un peux t-il m'expliqué mon erreur ?
ca marche au poile avec '".$_GET["artiste"]."' merci, mais quelqu'un peux t-il m'expliqué mon erreur ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
La ligne de code comme tu l'avais écrite, le programme interprétait le tout comme la requête, donc il cherchait dans ta table vote un artiste qui s'appelle : $_GET["artiste"].
Ta requête est en fait une concaténation de caractères (la requête SELECT ....) et de la variable que tu souhaites ($_GET), donc pour cela il te faut fermer le texte, concaténer ta variable comme indiqué, puis réouvrir le texte pour finir ta requête.
Ta requête est en fait une concaténation de caractères (la requête SELECT ....) et de la variable que tu souhaites ($_GET), donc pour cela il te faut fermer le texte, concaténer ta variable comme indiqué, puis réouvrir le texte pour finir ta requête.