在我们这里,我们分为使用 mysqli 和 PDO 来处理准备好的语句和事务支持等内容。有些项目使用其中一种,有些则使用另一种。我们迁移到另一个 RDBMS 的现实可能性很小。
我更喜欢 PDO,因为它允许为准备好的语句命名参数,而据我所知 mysqli 不允许。
当我们整合项目以仅使用一种方法时,选择一种方法作为标准是否还有其他优点和缺点?
最佳答案
嗯,你可以争论面向对象方面、准备好的语句、它成为标准的事实等等。但我知道大多数时候,说服某人使用 killer 级功能会更好。所以就是这样:
PDO 的一个非常好的事情是您可以获取数据,并将其自动注入(inject)到对象中。如果您不想使用 ORM (因为它只是一个快速脚本)但是您确实喜欢对象映射,它真的很酷:
class Student {
public $id;
public $first_name;
public $last_name
public function getFullName() {
return $this->first_name.' '.$this->last_name
}
}
try
{
$dbh = new PDO("mysql:host=$hostname;dbname=school", $username, $password)
$stmt = $dbh->query("SELECT * FROM students");
/* MAGIC HAPPENS HERE */
$stmt->setFetchMode(PDO::FETCH_INTO, new Student);
foreach($stmt as $student)
{
echo $student->getFullName().'<br />';
}
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
关于php - mysqli 或 PDO - 优缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18826624/