我刚开始接触旧的已弃用MySQLi
中的MySQL
,最近我被告知我应该PDO
了解MySQLi
ecs-init
。我不知道该怎么办!有人帮助我!
经过很长一段时间在线搜索答案后,我很乐意看到并了解什么是最好的。
答案 0 :(得分:5)
可能重复!但继续我的快速反应。
从最近的PHP更新7.0
开始,旧的MySQL
函数已从PHP中删除。这意味着大多数人需要迁移到最新的两个功能:MySQLi
和PDO
。我会对这两个功能给出分数,最后也会给出我个人的想法。
MySQLi本质上是对PHP现已弃用的mysql_*
函数的改进;但是,这个新函数现在支持预处理语句。
PHP Data Objects,也称为PDO,是一个通用的数据库抽象层,支持MySQL以及许多其他数据库。它也支持预备语句。
就我个人而言,我个人使用PDO。但是上述两种功能中的任何一种都是首选,因为它们支持准备好的陈述。
答案 1 :(得分:2)
我会建议PDO。最大的原因是, PDO支持多个数据库。但是,如果你现在只学习mysql,为什么要考虑多个数据库呢?这可能是原因:
您现在可能想学习mysql,但稍后您也可能对其他数据库感兴趣。例如,您决定将oracle db用于未来的项目或任何客户端项目。然后你需要学习使用oracle特定函数,如oci_connect()
,oci_execute()
等。但是如果你先学习PDO,你就不需要学习任何新的PHP函数来实现它。 / p>
在某些情况下,您可能需要更改数据库以获得更好的性能/安全性或项目可能需要的任何其他目的。如果你在PDO中,你只需要更新几行SQL,这两行可能会有所不同(这并不是很多)。但是如果你有mysqli_*
函数,则需要更新用于数据库目的的每个PHP函数。
所以,我建议你学习mysqli
,如果你确定在将来的生活中你不打算使用除mysql之外的任何其他数据库。