gpt4 book ai didi

php - $wpdb 返回空并选择日期

转载 作者:行者123 更新时间:2023-11-29 19:10:31 27 4
gpt4 key购买 nike

我正在开发一款 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_dump($events_list)' 返回一个空数组,但表中有条目。

我尝试了没有参数的函数,直接在 sql 请求中输入格式正确的日期,如下所示:

function get_events_list() {
$events_list = $wpdb->get_results( "SELECT * FROM $table WHERE date = '2017-03-30')", ARRAY_A );
}

这很好用。

我还做了一个'var_dump($wpdb->last_query)',试图找出发生的情况。

在没有参数的情况下进行测试(硬编码“2017-03-30”),工作正常,last_query 返回:

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

如您所见,我们仅在传递变量时添加引号。

请告诉我这是否适合您。

祝你好运!

关于php - $wpdb 返回空并选择日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43119657/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com