我正在从像这样的
这样的php类中进行查询<?php
require_once('abstractTable.php');
class User_Orders extends AbstractTable{
public static function get_by_month($month, $year){
$query = "select * from `user_orders` where month(`date_order`) = '2' and year(`date_order`) = '2012'";
return self::getObjectList(self::$class, $query);
}
?>
这是getObjectList()
public static function getObjectList($class, $q){
$arrClass = array();
$result = mysql_query($q) or die( "error: ".mysql_error());
if(mysql_num_rows($result) > 0){
while($row = mysql_fetch_array($result)){
$arrClass[] = new $class($row);
}
}
//echo $q;
return $arrClass;
}
当执行该脚本时,我收到如下错误消息:
错误:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的''附近使用正确的语法
我的问题是,将查询放在允许的类中吗?
谢谢
答案 0 :(得分:0)
这是“允许的”。尝试从控制台运行它。
试试这个:
$query = "select * from user_orders where month(date_order) = 2 and year(date_order) = 2012;";
答案 1 :(得分:0)
据我所知,月份和年份函数返回整数类型,因此请尝试从“2”和“2012”中删除引号。
答案 2 :(得分:0)
试试这个
$query = "select * from user_orders where month(date_order)=2 and year(date_order)=2012";
它应该有用......