16

我对 PHP 相当陌生,并且使用标准 MySQL 数据库调用构建了一个中型网站。但是,我最近了解了 PDO,我希望从社区中了解是否值得从 MySQL 切换到 PDO。为了安全起见,我一直在使用mysql_real_escape_string.

关于该站点的信息:
我正在使用INSERTSELECT调用的混合。调用返回的数据SELECT量不大(使用返回的记录不超过30条LIMIT)。也不会有很多INSERTs。该网站目前尚未上线,因此现在进行更改很容易。

在您的专业意见中,值得我花时间将站点从 MySQL 切换到 PDO 吗?还是和 MySQL 一样好?或者换句话说,如果有的话,现在切换到 PDO 的原因是什么?

4

2 回答 2

34

与 mysql_* 函数相比,PDO 具有以下优点:

  • 它是跨数据库的,这意味着它对于不同的关系数据库是相同的接口。
  • 它有助于防止 SQL 注入。
  • 它更干净(使用面向对象的方法)。

以前有人问过这个问题,你可能想看看答案:

如果您正在开始一个新项目,我强烈建议您使用 PDO 或更高级别的库/ORM。如果您已经编写了很多没有它的代码,那可能不值得。

于 2009-05-15T03:36:48.980 回答
4

PDO 具有上面链接的页面中列出的优点:数据库抽象(即您的代码可以在各种类型的 DB 中移植),如果您使用其准备好的语句功能,它可以为您处理许多常见的安全问题,并且它以 Class 实例的形式返回结果(它本身可以通过鼓励面向对象的方法来极大地改进您的代码)等等,等等。

但是,最好的方法是让您查看 ORM 库,例如 Doctrine。考虑到您的项目规模,这似乎有点矫枉过正,但坦率地说,开始学习最佳实践永远不会太早。Zend 框架的主要开发人员提供的关于如何构建防弹、可维护的数据库驱动应用程序 的精彩概述可以在http://mtadata.s3.amazonaws.com/webcasts/20090724-playdoh.wmv观看

于 2009-08-01T21:54:54.077 回答