1

我正在使用此代码选择一些日期小于某一天的行。当我<=在 sql 中放入(小于)时,会抛出一个致命错误。仅添加=.

我正在使用来自https://github.com/ajillion/PHP-MySQLi-Database-Class的 PHP-MySQLi-Database-Class

$params = array($id, $day, $day);
$results = $db->rawQuery("
       SELECT * 
       FROM `forecasts` 
       WHERE `geonameid`=? and (DAY(time_from) <= DAY(?) 
       OR DAY(time_to) <= DAY(?))", $params);

致命错误:准备查询时出现问题 (SELECT * FROM forecastsWHERE geonameid=? and (DAY(time_from) ) 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在 '' 附近使用的正确语法

我做错了什么?

4

1 回答 1

3

看起来是 PHP-MySQLi-Database-Class 问题。第 101 行,函数 rawQuery

$this->_query = filter_var($query, FILTER_SANITIZE_STRING);

此功能剥离标签,您的查询结果是

SELECT * FROM `forecasts` WHERE `geonameid`=? and (DAY(time_from)

所以你可以用

$this->_query = $query;
于 2012-11-27T12:20:36.053 回答