2011-04-10 3 views
0

Je suis très nouveau à PHP et essaie de sélectionner des données à partir d'un champ MySQL (dans une table). J'ai utilisé la requête suivante.Moyen correct d'ajouter une variable PHP dans une requête MySQL?

$token = $wpdb->query("SELECT ami_st_token_aut 
         FROM $wpdb->users 
         WHERE ID = '".$current_user->ID."' "); 

La valeur du ami_st_token_aut est un grand nombre, mais quand j'echo $ jeton, il fait écho à $current_user->ID au lieu du grand nombre symbolique. Qu'est-ce qui pourrait mal tourner?

+0

Ce n'est pas tout à fait PHP mais plutôt wordpress –

Répondre

3

Deux façons de le faire.

Si vous le faites avec WordPress, utilisez la fonction wpdb->prepare:

$token = $wpdb->get_var(
    $wpdb->prepare(
    "SELECT ami_st_token_aut FROM $wpdb->users WHERE ID=%d", $current_user->ID 
) 
); 

Si vous faites sans Wordpress, utilisez la fonction mysql_real_escape_string.

mysql_query(
    "SELECT ami_st_token_aut FROM tablename WHERE ID='" 
    . mysql_real_escape_string($ID) . "'" 
); 
+0

Freaking Awesome. Merci beaucoup. +1 – Sam

+1

@Sam: +1 signifie généralement que vous lui donnez aussi un (je l'ai fait et il a atteint 1 donc je suppose que vous n'avez pas) et vous devriez accepter la réponse si cela a aidé. – Fredrik

+0

Je ne pouvais pas donner hime 1 parce que mon représentant est inférieur à 15. – Sam

1

Voir the Wordpress Codex.

La fonction $wpdb->query renvoie le nombre de lignes correspondant à votre requête (si vous sélectionnez SELECT, de toute façon).

$wpdb->get_var est la fonction à utiliser pour obtenir une seule valeur de la base de données.

Questions connexes