我第一次看到这个。我不知道你可以通过像
那样实例化一个mysqli类new mysqli( $host, $username, $password, $db );
这对我来说是全新的...我在网上或书中看到的每个教程在连接到数据库时都会这样:
$conn = mysqli_connect( $host, $username, $password, $db );
if ( !$conn ) {
die( 'Sorry, could not connect');
}
大多数教程是否有理由采用程序方式?即使在我创建单独的数据库类的教程中,也请告诉我使用过程样式代码......
mysqli程序与oop的区别是什么?有没有?我是否必须安装某种类型的扩展程序,或者我可以在代码中开始使用?总计新的在这里,所以不太确定。
另外,什么时候使用PDO和mysqli是个好主意? PDO最常用于大型企业应用程序的开发人员吗?或者只是一个偏好问题。
感谢您的帮助......
学习php很快就会让人上瘾......我只是想知道越来越多。
答案 0 :(得分:11)
互联网上99%的PHP教程已经过时,提倡可怕的代码,或者是那些可能不应该教授PHP的人(通常是上述所有内容)。你应该找到handful of good ones。
PDO一般比开发人员(包括我)更喜欢mysqli。首先,它可以处理比MySQL更多的数据库。
答案 1 :(得分:3)
大多数mysqli_*
函数是对象方法的别名(PHP内部允许使用C宏轻松实现,因此许多扩展使用该方法)。但是可用性也是为了熟悉,因此旧的mysql函数的用户可以更容易地采用新界面。使用OOP或程序界面实际上只是样式/偏好。
PDO现在通常是首选,但它不提供许多特定于mysql的功能。因此,mysqli扩展可能仍有一些用例。
答案 2 :(得分:3)
从实际角度回答你的问题
大多数教程是否有理由采用程序方式?
足以说原因与技术无关。
mysqli程序与oop的区别是什么?有没有?
没有
我是否必须安装任何扩展程序
否(当然,除了mysqli本身)。
此外,何时使用PDO是个好主意?
是。事实上,PDO将是唯一理智的选择。
您必须了解mysqli函数集只是一个低级API,不打算按原样使用。必须在mysqli上实现一个包装器,然后使用这个包装器的方法。虽然 PDO已经是这样的包装器,但可以提供执行许多任务的帮助。我写了a guide on PDO,强调它的好处并揭示了一些迷信,我希望你能找到许多问题的答案。