mysqli,OOP与程序

时间:2011-06-02 01:12:10

标签: php pdo mysqli

我第一次看到这个。我不知道你可以通过像

那样实例化一个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很快就会让人上瘾......我只是想知道越来越多。

3 个答案:

答案 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,强调它的好处并揭示了一些迷信,我希望你能找到许多问题的答案。