Page 1 sur 1

Passer variable dans un SELECT

Posté : 23 janv. 2013, 17:49
par Atrix
Bonjour,

j'aimerai passer une variable pour le SELECT d'une requete comme ceci :

Code : Tout sélectionner

$infoToGet = "field_name, field_value" ; $critereLastClassPerso = $wpdb->get_results("SELECT '".$infoToGet."' FROM kel_cf7dbplugin_submits);
Mais ça ne fonctionne pas. Est-il possible de mettre une variable comme ceci ?

Merci.

Re: Passer variable dans un SELECT

Posté : 23 janv. 2013, 19:36
par AB

Code : Tout sélectionner

"SELECT ".$infoToGet." FROM kel_cf7dbplugin_submits"

Re: Passer variable dans un SELECT

Posté : 23 janv. 2013, 19:41
par atrix
Merci ça marche.

Je sais jamais en PHP quand il faut mettre ".." ou '".'" ou ". ou je sais pas trop quoi ;)

Re: Passer variable dans un SELECT

Posté : 24 janv. 2013, 17:28
par AB
C'est assez simple, les champs mentionnés ne doivent pas être entre quotes (ni double quotes), par contre les variables par exemple dans les clauses WHERE, AND... doivent être entre quotes.
Pour voir le résultat le plus simple est d'écrire sa requête séparément puis ensuite de l'exécuter. Cela permet de faire un echo pour voir comment la requête est écrite.
Par exemple :
$infoToGet = "field_name, field_value";

$query = "SELECT ".$infoToGet." FROM kel_cf7dbplugin_submits";

// pour vérif débuggage
echo $query;

// exécution de la requête
$critereLastClassPerso = $wpdb->get_results($query);

Re: Passer variable dans un SELECT

Posté : 24 janv. 2013, 17:35
par xTG
par contre les variables par exemple dans les clauses WHERE, AND... doivent être entre quotes.
Sous réserve de format non numérique, il me semble que si MySQL accepte des quotes autour d'un entier ce n'est pas le cas de tout SGBD.