首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >>prepare()返回NULL

>prepare()返回NULL
EN

Stack Overflow用户
提问于 2015-08-30 22:39:59
回答 1查看 988关注 0票数 0

我不明白为什么要返回"NULL“。我已经将日期/时间字符串硬编码到$scheduledDates变量中。实际上,这是用户的输入。当我没有准备查询时,一切都很好。

代码语言:javascript
复制
$scheduledDate = "2015-09-01 00:00:00";

$queryString = "SELECT * FROM schedules WHERE event_start > %s AND event_start < %s + INTERVAL 1 DAY";

$scheduled_blocks = $wpdb->get_results( $wpdb->prepare( $queryString, $scheduledDate ) );

下面的代码运行良好,无论我是否硬编码日期/时间.

代码语言:javascript
复制
$scheduledDate = $_POST['scheduledDate'];

$scheduled_blocks = $wpdb->get_results('SELECT * FROM schedules WHERE event_start > "' . $scheduledDate . '" AND event_start < "' . $scheduledDate . '" + INTERVAL 1 DAY');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-30 22:48:35

使用$wpdb->print_error()查看您得到了哪些错误。但是,从代码的角度来看,我认为占位符的数量必须与提供给prepare方法的值的数量相同。请将您的呼叫更改为:

代码语言:javascript
复制
$wpdb->prepare($queryString, $scheduledDate, $scheduledDate)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32301843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档