$wpdb->wp_users返回空值


$wpdb->wp_users returning empty value for

我有一个代码示例:

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';

显示如下:

SELECT * FROM $wpdb->wp_users LIMIT 1

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

显示如下:

SELECT * FROM  LIMIT 1

我不明白为什么这不起作用,因为这都是基于wordpress codex的文献,有什么想法吗?

不需要给表加上前缀。因为$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
}