从php类查询mysql

时间:2012-03-06 14:06:26

标签: php mysql class

我正在从像这样的

这样的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行的''附近使用正确的语法

我的问题是,将查询放在允许的类中吗?

谢谢

3 个答案:

答案 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";

它应该有用......