|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() sandrine Inscription : février 2011 Messages : 11 ![]() |
Bonjour à tous,
J'essaye de faire une requête en mettant à la place du nom de champ une variable. Ça devrait pas si compliqué pourtant… Et pourtant je m'arrache les cheveux depuis plusieurs heures… J'ai relu en long en large le cours sur l'utilisation apostrophe/guillemets et puis j'ai testé toutes les possibilités (bêtement mais je ne voyais plus quoi faire :-), successivement, comme ça : Code :
Au secours ! Ça viendrait donc pas d'un problème de syntaxe ? Merci par avance |
||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Développeur Sharepoint/Biztalk Inscription : octobre 2008 Messages : 500 ![]() |
Les variables PHP sont entre cotes dans les requêtes .. me semble pas avoir vu :
Code :
$reponse = $bdd->query("SELECT idRubriqueTuto FROM '$table1'"); Code :
$reponse = $bdd->query("SELECT idRubriqueTuto FROM '".$table1."'"); |
|
|
01
|
|
|
#3 | ||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
As-tu simplement verifié ce que valait $table1 et quelle erreur provoquait ta requête precisemment ?
Sinon pour les syntaxes : Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Invité de passage
![]() sandrine Inscription : février 2011 Messages : 11 ![]() |
Tout d'abord, merci pour vos réponses.
Sabotage, pour cette requête-ci, par exemple : Code :
J'ai fait un echo sur cette variable, en effet, elle n'est pas vue. La requête se trouve dans un bloc try, qui lui-même se trouve dans une fonction. La variable $table1 est définie à l'extérieur de cette fonction, au même niveau que l'appel de fonction (avant pour être précise). Je pensais qu'elle serait visible de partout vu qu'elle ne se trouve pas dans un bloc d'instruction. Non ? |
||
|
|
00
|
|
|
#5 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Les fonctions n'ont pas les mêmes variables que le script.
Il faut passer la variable en argument, la déclarer global ou utiliser une constante. |
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() sandrine Inscription : février 2011 Messages : 11 ![]() |
Ah non, je me suis trompée,
le renvoi "la variable n'existe pas" vient d'un echo que je fais plus haut pour vérifier la présence d'une autre variable. Le message d'erreur est le suivant : Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 Toujours pour cette requête là : Code :
J'essaye avec global mais le premier problème de syntaxe n'est pas résolut. Dur dur |
||
|
|
00
|
|
|
#7 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
J'ai déjà répondu ta syntaxe est bonne mais si $table1 ne vaut rien, la requête ne peut évidemment pas fonctionner.
|
|
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() sandrine Inscription : février 2011 Messages : 11 ![]() |
Alors voilà, ça marche.
A l'intérieur du groupe d'instruction try, soit au même endroit que ma requête, j'ai mis et ma requête est : Code :
$reponse = $bdd->query("SELECT idRubriqueTuto FROM $table1"); Code :
Merci beaucoup pour votre aide ! |
||
|
|
00
|
|
|
#9 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
"global" est un mot clef, il ne peut pas être traité dans une chaine de caractère.
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() sandrine Inscription : février 2011 Messages : 11 ![]() |
ah… ok!
Je vais arrêter de maltraiter global Mais il me le rend bien. Merci pour ces éclaircissements. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com