在我们的位置上,我们在使用mysqli和PDO进行诸如准备好的语句和事务支持之类的操作之间是分开的。有些项目使用一个,另一些使用。我们迁移到另一个RDBMS的现实可能性很小。
我更喜欢PDO,这是因为它允许预准备语句使用命名参数,而据我所知mysqli不允许。
在我们将项目合并为仅使用一种方法时,是否有其他选择作为标准的利弊?
好吧,您可以与面向对象方面,准备好的语句,它成为标准的事实等进行争论。但是我知道,在大多数情况下,说服某人使用杀手级功能会更好。就是这样:
使用PDO的真正好处是您可以获取数据,并将其自动注入到对象中。如果您不想使用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(); }来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。