我不明白为什么要返回"NULL“。我已经将日期/时间字符串硬编码到$scheduledDates变量中。实际上,这是用户的输入。当我没有准备查询时,一切都很好。
$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 ) );下面的代码运行良好,无论我是否硬编码日期/时间.
$scheduledDate = $_POST['scheduledDate'];
$scheduled_blocks = $wpdb->get_results('SELECT * FROM schedules WHERE event_start > "' . $scheduledDate . '" AND event_start < "' . $scheduledDate . '" + INTERVAL 1 DAY');发布于 2015-08-30 22:48:35
使用$wpdb->print_error()查看您得到了哪些错误。但是,从代码的角度来看,我认为占位符的数量必须与提供给prepare方法的值的数量相同。请将您的呼叫更改为:
$wpdb->prepare($queryString, $scheduledDate, $scheduledDate)https://stackoverflow.com/questions/32301843
复制相似问题