我无法正确调用$ wpdb

时间:2017-02-21 18:03:21

标签: wordpress

我正在使用自定义主题的wordpress网站,我无法弄清楚如何让$ wpdb-> prepare($ query,$ args)工作。

问题

我在wp-content / themes / mytheme / php / functions.php中有一个函数运行$ wpdb-> prepare($ query,$ args)来保护查询免于SQL注入,然后再执行查询并插入一些新数据。但是,当我运行此函数时,我得到一个错误,该错误在运行$ wpdb-prepare()的行上显示“在null上调用成员函数prepare()”。我做了一些谷歌搜索,发现这意味着$ wpdb尚未定义。

我尝试了什么

根据我在网上找到的其他主题,我尝试定义

global $wpdb

在我的函数内部和functions.php的顶部。如果那不起作用,我试着把

include_one('/wp-includes/wp-db.php')

位于functions.php的顶部,但仍然没有。

有没有人对我可以尝试的内容有任何其他想法?

1 个答案:

答案 0 :(得分:1)

它调用函数就好了,但它找不到有效的输入(null)。你用什么来定义你的表名?我之前已经有了$ wpdb无法运行的地方,除非我像这样定义它:

global $wpdb;
$table = $wpdb->prefix . "table_name";
$sql = $wpdb->prepare( "SELECT * FROM {$table} ORDER BY something DESC");
$result = $wpdb->get_results( $sql , ARRAY_A );