php连接数据库的三种方式的总结

记得去年夏天,我在杭州一家咖啡馆调试网站,突然发现数据库连接总是失败。
我当时用的是PDO,纠结了好久终于弄清楚是DNS解析的问题。
这次活动让我对数据库连接有了更深入的了解。

PHP连接MySQL数据库其实有3 种常见的方式。
你是对的,MySQLi的面向对象和面向过程的方法适合不同的编程习惯。
在我过去使用的一个项目中,我使用了面向过程的MySQLi,因为团队其他人都是这样写的,所以编码风格统一且无缝。
当时连接数据库的代码都写在函数里了,一行一行的调用就很清楚了。

PUD 是不同的。
它支持多个数据库,我在另一个项目中使用过。
当时项目要求需要支持Oracle和SQL Server,PDO只需一个连接就可以连接,省去了切换数据库的麻烦。
另外,PDO使用了异常处理,当发生错误时可以直接抛出异常,使得代码一目了然。
记得有一次我输入了错误的密码,PDO直接抛出了异常。
我很惊讶。
以前使用MySQLi时,我总是依靠返回值来判断是否有错误。

你真的必须注意关闭连接。
我有一个朋友在编写PHP脚本时总是忘记手动关闭连接。
导致服务器资源始终处于繁忙状态。
后来他改用PUD并设置错误模式。
一旦捕获到异常,连接就会自动关闭,问题就解决了。

您应该选择哪种方法实际上取决于个人喜好和项目需求。
PDO 现在使用得越来越多,因为它支持多个数据库和异常处理。
不过,我最近看到一些新的PHP框架似乎对MySQLi有更好的支持,这也是相当有趣的。
等等,还有一件事。
我听说MySQL的面向对象方法比PUD性能更好。
这是真的吗?

PHP开发者必读:深入理解PDO的用法和最佳实践

PDO 连接失败:无法解析主机名 localhost。

不要将数据库配置硬编码到您的代码中。

使用环境变量或配置文件来存储数据库连接信息。