A voir également:
- Variable dans WHERE
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Vba range avec variable ✓ - Forum VB / VBA
- Insert where - Forum MySQL
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Vba selection plage variable ✓ - Forum VB / VBA
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
JypX
Messages postés
67
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
6 février 2010
7
24 déc. 2009 à 10:10
24 déc. 2009 à 10:10
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"]."'");
Alex_Mansion82
Messages postés
369
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
24 octobre 2012
94
24 déc. 2009 à 10:13
24 déc. 2009 à 10:13
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
Alex_Mansion82
Messages postés
369
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
24 octobre 2012
94
24 déc. 2009 à 10:22
24 déc. 2009 à 10:22
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.
Ozimandias
Messages postés
502
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
10 mars 2010
46
24 déc. 2009 à 10:31
24 déc. 2009 à 10:31
En php, l'opérateur de concatenation de chaine est le .
pour définir une chaine on l'entoure avec des guillements simples ou doubles.
Ce qui donne : $resultatConcatenation = "chaine1"."chaine2";
Si chaine1 = toto et chaine2 = mange alors le code ci dessus donne $resultatConcatenation = "toto mange"
pour définir une chaine on l'entoure avec des guillements simples ou doubles.
Ce qui donne : $resultatConcatenation = "chaine1"."chaine2";
Si chaine1 = toto et chaine2 = mange alors le code ci dessus donne $resultatConcatenation = "toto mange"