Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-oop-mysql查询_Php_Mysql_Oop_Foreach - Fatal编程技术网

php-oop-mysql查询

php-oop-mysql查询,php,mysql,oop,foreach,Php,Mysql,Oop,Foreach,我刚才收到了一些帮助,但始终无法找到此查询不起作用的原因?我如何修改它使其工作 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($res

我刚才收到了一些帮助,但始终无法找到此查询不起作用的原因?我如何修改它使其工作

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;
}

不幸的是,我没有得到任何回报。这个查询是有效的,我已经测试过了。

mysql\u查询的第二个参数应该是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;
}

mysql_查询的第二个参数应该是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;
}

我猜您已经关闭了错误报告功能,因此没有看到这一行应该导致的分析错误:

$result = mysql_query("SELECT * FROM posts ORDER BY id DESC LIMIT 0, 3"), __CLASS__);
我看到两个括号闭合,但只有一个打开


你也不应该把类名扔进去。如果有的话,您应该输入数据库连接的对象,而不是类的名称。

我猜您已经关闭了错误报告,因此没有看到这一行应该导致的解析错误:

$result = mysql_query("SELECT * FROM posts ORDER BY id DESC LIMIT 0, 3"), __CLASS__);
我看到两个括号闭合,但只有一个打开


你也不应该把类名扔进去。如果有的话,应该输入数据库连接的对象,而不是类的名称。

试试
var\u dump($array)
。另外,,\uuuuu CLASS\uuuuuuuuu)放错地方了。请更具体地说明什么不起作用。发生了什么,什么不起作用?不管怎样,这看起来都是错误的您是否缺少数据库连接,或者它不是此代码段的一部分?
ini\u set('error\u reporting',E\u ALL)
ini\u集('display\u errors',true)设置”将确保显示错误,并应帮助您调试此错误。查看代码,第3行的语法无效。删除
,\uuuuu CLASS\uuuu)
。尝试
var\u dump($array)
。另外,
,\uuuuu CLASS\uuuuuuuuu)
放错地方了。请更具体地说明什么不起作用。发生了什么,什么不起作用?不管怎样,这看起来都是错误的您是否缺少数据库连接,或者它不是此代码段的一部分?
ini\u set('error\u reporting',E\u ALL)
ini\u集('display\u errors',true)设置”将确保显示错误,并应帮助您调试此错误。查看代码,第3行的语法无效。删除
,\uuuuu类