Php $wpdb返回空,带日期选择

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

我正在开发一个WordPress日历插件,可以在一个日期上添加事件。事件存储在工作正常的自定义数据库中

但是我在使用
'$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 );