在MySQL查询中添加PHP变量的正确方法?

时间:2011-04-10 04:41:57

标签: php mysql wordpress

我是PHP的新手并尝试从MySQL字段(在表格中)中选择数据。我使用了以下查询。

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

ami_st_token_aut中的值是一个很大的数字但是当我回显$ token时,它会回显出$current_user->ID而不是大的令牌号。可能出现什么问题?

2 个答案:

答案 0 :(得分: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) . "'"
);

答案 1 :(得分:1)

请参阅the Wordpress Codex

$wpdb->query函数返回与您的查询匹配的行数(如果您执行SELECT,则无论如何)。

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