$ wpdb-> wp_users返回空值

时间:2014-03-25 20:11:18

标签: php mysql wordpress function

我有一个代码示例:

function custom_func(){
    global $wpdb;
    $wpdb->flush();     //tried with and without this line
    $getTest = 'SELECT * FROM $wpdb->wp_users LIMIT 1';
    $arrayReturned = $wpdb->get_results($wpdb->prepare($getTest));
}

根据我的阅读,我认为$ wpdb-> wp_users意味着返回数据库名称和表名,就像dbName.tableName;但它只返回一个空值。

我试过了:

$getTest = 'SELECT * FROM $wpdb->wp_users LIMIT 1';

显示如下的wordpress:

SELECT * FROM $wpdb->wp_users LIMIT 1

$getTest = 'SELECT * FROM '.$wpdb->wp_users.' LIMIT 1';

显示如下的wordpress:

SELECT * FROM  LIMIT 1

我无法理解为什么这不起作用,因为这完全基于wordpress codex的文献,任何想法?

1 个答案:

答案 0 :(得分:2)

您不需要为表格添加前缀。由$wpdb->table为你做。此外,您需要使用双引号"而不是单',因为您在查询字符串中使用了$wpdb变量。

'SELECT * FROM $wpdb->wp_users LIMIT 1';
^---------------------^^^-------------^---

使用不带表前缀和双引号"

"SELECT * FROM $wpdb->users LIMIT 1";

此外,您不需要使用预准备语句,因为没有用户输入。

您的代码应如下所示:

function custom_func() {
    global $wpdb;
    $getTest = "SELECT * FROM $wpdb->users LIMIT 1";
    $arrayReturned = $wpdb->get_results($getTest);
    var_dump($arrayReturned); // see results
}