0

我最近从 mysql 转移到 mysqli,但即使经过大量谷歌搜索,也面临问题。请查看此数据库类,并请帮助我找出我错在哪里。谢谢。

我只是将 mysql 更改为 mysqli,但它无法正常工作。

<?php
class database {

  private $connection;

  public function __construct() {
    $this->connect();
  }

  public function connect() {
    $this->connection = mysqli_connect('localhost', 'root', '', 'new5');
  }

}

$db = new database;
?>

在其他类中,包括上述类后,我使用$dbas

class pro{

  $query = mysqli_query("SELECT id, parent_id, name FROM categories");

  while($row = mysqli_fetch_array($query, MYSQLI_BOTH)){
    $id = $row["id"];
    echo $id

         }
     }
  }

$p = new pro();

我尝试了两种方式,在 mysqli 程序和 OO 方式中,但失败了。请以程序和 oop 风格提出建议。

谢谢

4

1 回答 1

0

如我的评论中所述,如果$mysqli_query不是错字,请删除$.

此外,该while语句缺少一个结束大括号}

其次,你的class pro { .. }定义没有意义。花括号之间的代码应该放在一个方法中,我建议将它命名为queryCategories.

class pro {
  public function queryCategories() {
    $query=msqli_query("SELECT id, parent_id, name FROM categories");
    while($row=mysqli_fetch_array($query,MYSQLI_BOTH)) {
      $id=$row["id"];
      echo $id
    } // ending while curly bracket was failing
  }
}

$p = new pro();
$p->queryCategories();
于 2012-11-01T11:57:19.567 回答