Php $wpdb返回空,带日期选择
我正在开发一个WordPress日历插件,可以在一个日期上添加事件。事件存储在工作正常的自定义数据库中 但是我在使用Php $wpdb返回空,带日期选择,php,mysql,wordpress,Php,Mysql,Wordpress,我正在开发一个WordPress日历插件,可以在一个日期上添加事件。事件存储在工作正常的自定义数据库中 但是我在使用'$wpdb->get_results' 此函数需要一个日期作为参数。 这是我的代码: function get_events_list($day) { global $wpdb $table = $wpdb->prefix . "mytable"; $events_list = $wpdb->get_results( "SELECT * F
'$wpdb->get_results'
此函数需要一个日期作为参数。
这是我的代码:
function get_events_list($day) {
global $wpdb
$table = $wpdb->prefix . "mytable";
$events_list = $wpdb->get_results( "SELECT * FROM $table WHERE date = $day)", ARRAY_A );
var_dump($events_list);
}
'var\u dump($events\u list)
返回一个空数组,但表中有条目
我尝试了不带参数的函数,直接在sql请求中输入格式良好的日期,如下所示:
function get_events_list() {
$events_list = $wpdb->get_results( "SELECT * FROM $table WHERE date = '2017-03-30')", ARRAY_A );
}
这很有效
我还做了一个'var\u dump($wpdb->last\u query)
,试图找到发生了什么
在没有参数的情况下进行测试(硬编码“2017-03-30”),wich工作正常,最后一次查询返回:
'SELECT * FROM wp_mytable WHERE date = '2017-03-30')'
使用动态参数,它返回不带引号的日期:
'SELECT * FROM wp_mytable WHERE date = 2017-03-30)'
我想我指出了问题,但无法解决它(我尝试了很多事情)。
有人能帮我吗?谢谢:)你好,朋友
首先,我不明白这('SELECT*FROM wp_mytable WHERE date='2017-03-30')查询是如何工作的,最后一个括号对我来说非常奇怪:)
无论如何,如果您的查询工作正常,只需更改:
$events_list = $wpdb->get_results( "SELECT * FROM $table WHERE date = $day)", ARRAY_A );
到
如您所见,我们只在传递变量时加引号
让我知道这是否适合你
祝你好运 使用引号-
$events_list = $wpdb->get_results( "SELECT * FROM $table WHERE date = '$day')", ARRAY_A );
如果没有这些引语,则与“$day”一起使用的日期将变成
其中date=2017-03-30
是。对我来说,用一些药物来致癌是很平常的事。(点或其他)我甚至没有这样做。谢谢你的回答。
$events_list = $wpdb->get_results( "SELECT * FROM $table WHERE date = '$day')", ARRAY_A );