我刚才收到了一些帮助,但始终不能找出为什么这个查询不工作?我如何修改它才能使其正常工作?
class Posts {
public static function multipleQuery() {
$result = mysql_query("SELECT * FROM posts ORDER BY id DESC LIMIT 0, 3")
, __CLASS__);
while($object = mysql_fetch_object($result)) {
$return[] = $object;
}
return $return;
}
}
$array = Posts::multipleQuery();
foreach($array AS $row) {
echo $row->title;
}不幸的是,我什么也得不到。查询可以工作,我已经测试过了。
发布于 2011-03-19 00:55:02
mysql_query上的第二个参数应该是一个mysql连接句柄。传递类的名称不是这样的句柄,所以您试图在一个不存在的数据库连接上执行查询。同样,您没有错误检查,这将显示此问题:
public static function multipleQuery(){
$result = mysql_query("SELECT * FROM posts ORDER BY id DESC LIMIT 0, 3")
or die(mysql_error());
while($object = mysql_fetch_object($result)) {
$return[] = $object;
}
return $return;
}发布于 2011-03-19 01:08:11
我猜您已经关闭了错误报告,因此看不到应该由下面这行代码导致的解析错误:
$result = mysql_query("SELECT * FROM posts ORDER BY id DESC LIMIT 0, 3"), __CLASS__);我看到两个括号关闭了,但只有一个打开了。
另外,你也不应该把类名放在里面。如果有什么不同的话,您应该放入数据库连接的对象,而不是类的名称。
https://stackoverflow.com/questions/5355234
复制相似问题