Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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 mysqli数据库类不工作?_Php_Mysqli - Fatal编程技术网

Php mysqli数据库类不工作?

Php mysqli数据库类不工作?,php,mysqli,Php,Mysqli,我最近从mysql迁移到mysqli,但即使在谷歌搜索了很多次之后,我仍然面临着一些问题。请复习这个数据库类,并帮助我找出我的错误。谢谢 我刚刚把mysql改成了mysqli,但它不工作 <?php class database { private $connection; public function __construct() { $this->connect(); } public function connect() { $this-&

我最近从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;
?>
我尝试了两种方法,mysqli程序和OO方法,但都失败了。请以过程式和面向对象的方式提出建议


谢谢

如我在评论中所述,如果
$mysqli\u query
不是打字错误,请删除
$

另外,
while
语句缺少结尾的花括号
}

其次,您的
类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();

$mysqli_查询(“…”)输入错误?因此
mysqli\u查询之前的
$
和你的
class-pro
毫无意义,
class-pro{
}
之间的代码应该在一个方法中,类似于
公共函数queryCategories()
你在哪里创建pro类中数据库类的对象?@ShubhanshuMishra,这个类在使用mysql时运行良好。@SidraNaeem不是让它与mysql一起工作,而是与mysqli一起工作,不是吗?这是一个好问题,尽管您说过在执行
$p=new pro()之前包含了这个类
所以我假设
mysqli\u connect()
正在创建一个到mysql数据库的有效资源链接,谢谢,但它给出了错误警告:mysql\u fetch\u array()期望参数1是资源,布尔值给定i@SidraNaeem无意冒犯,但您应该做更多的研究,这意味着mysqli_查询没有返回有效的资源,例如,没有数据库连接等,检查$db的内容和属性$connection,如果有任何东西远程指向有效的数据库连接
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();