我有一个代码示例:
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的文献,任何想法?
答案 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
}