2011-04-10 42 views
0

我对PHP很陌生,试图从MySQL字段中选择数据(在表中)。我使用了下面的查询。在MySQL查询中添加PHP变量的正确方法?

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

在ami_st_token_aut的值是一个很大的数字,但是当我回声$令牌,是呼应了$current_user->ID,而不是大数量的令牌。可能会出现什么问题?

+0

这不是PHP而是wordpress – 2011-04-10 04:45:23

回答

3

这样做的两种方法。

如果你与WordPress做,使用wpdb->prepare功能:

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

如果你没有的WordPress做,使用mysql_real_escape_string功能。

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

令人惊叹的。非常感谢。 +1 – Sam 2011-04-10 04:47:34

+1

@Sam:+1通常意味着你也给他一个(我做了,他达到了1,所以我猜你没有),如果它有帮助,你应该接受答案。 – Fredrik 2011-04-10 04:56:24

+0

我不能给姬1,因为我的代表少于15个。 – Sam 2011-04-10 04:58:42

1

the Wordpress Codex

$wpdb->query函数返回与您的查询匹配的行数(如果您执行SELECT操作)。

$wpdb->get_var是用于从数据库中获取单个值的函数。