Php PDO构造函数中的mysqli

Php PDO构造函数中的mysqli,php,mysql,pdo,mysqli,Php,Mysql,Pdo,Mysqli,大家好,我在看另一个学生写的代码,他用PDO抽象杠杆连接数据库 现在我遇到了mysql函数的问题,例如fetch_assoc(我想为什么它只在mysqli中实现)。 有一种方法可以连接PDO和mysqli两者吗? 比如: new PDO("mysqli:host=$this->hostname;dbname=$this->dbname", $this->username, $this->password); 在mysql:host中添加“i” 或者mysql函数中的my

大家好,我在看另一个学生写的代码,他用PDO抽象杠杆连接数据库

现在我遇到了mysql函数的问题,例如fetch_assoc(我想为什么它只在mysqli中实现)。 有一种方法可以连接PDO和mysqli两者吗? 比如:

new PDO("mysqli:host=$this->hostname;dbname=$this->dbname", $this->username, $this->password);
在mysql:host中添加“i”


或者mysql函数中的mysqli::fetch_assoc()也有类似的功能?

无法同时使用PDO和mysqli,但在PDO中可以选择fetch样式。您可以在中看到这些样式

那么,让我们来看一个例子:

$result = $sth->fetchAll(PDO::FETCH_ASSOC); // $sth = your statement
foreach($result as $row) {
   echo $row['name'];
}
现在,
$result
包含作为关联数组的查询结果


答案比你想象的要简单,不是吗?

我不确定你是否理解为什么它在那里说
mysql
,它与旧的mysql/mysqli php东西没有太大关系。这是你连接PDO的数据库。阅读PDO手册,了解如何使用PDO
$stmt->fetchAll(PDO::FETCH_ASSOC)这一切都搞错了。请再发一点代码。
new PDO()
构造函数应该有一个以
mysql:host=…
MySQLi和PDO开头的DSN字符串,它们是连接到mysql数据库的api。除此之外,PDO和MySQLi是两个完全不同的API,彼此不兼容。$sth是什么?!声明还是其他什么?它起作用了!!总而言之,我认为是时候阅读PDO文档了,但我没有太多的时间…实现和重写第三部分代码并不是那么简单。要有效地使用PDO,你应该阅读文档。除非你仔细阅读,否则你不可能知道好的特征。快乐编码:)