Php mysqli数据库类不工作?
我最近从mysql迁移到mysqli,但即使在谷歌搜索了很多次之后,我仍然面临着一些问题。请复习这个数据库类,并帮助我找出我的错误。谢谢 我刚刚把mysql改成了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-&
<?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();