【问题标题】:mysqli, OOP vs Proceduralmysqli,OOP 与程序
【发布时间】:2011-06-02 01:12:10
【问题描述】:

我第一次看到这个。我不知道您可以通过执行类似的操作来实例化 mysqli 类

new mysqli( $host, $username, $password, $db );

这对我来说是全新的......我在连接到数据库时在网上或书中看到的每个教程都是这样的:

$conn = mysqli_connect( $host, $username, $password, $db );

if ( !$conn ) {
    die( 'Sorry, could not connect');
}

大多数教程都以程序方式进行是否有原因?即使在我看到的关于创建单独的数据库类的教程中,告诉我使用程序样式代码...

mysqli 过程式 vs oop 有什么区别?有没有?我是否必须安装某种扩展,或者我可以开始在我的代码中使用吗?完全是新手,所以不太确定。

另外,什么时候使用 PDO 与 mysqli 比较好?从事大型企业应用程序的开发人员最常使用 PDO 吗?或者只是一个偏好问题。

感谢您的帮助...

学习 php 很快就上瘾了……我只想知道更多。

【问题讨论】:

  • 大多数 mysqli 教程都是针对熟悉旧 mysql 库的人,这只是程序性的。从 mysql 到程序化 mysqli 的转变对于人们来说,与其说是转变到 OO mysqli 不如说是一种心理转变。但是,正如亚历克斯在下面指出的那样,使用 PDO 比使用上述任何一种都要好,所以直接去那里吧。

标签: php pdo mysqli


【解决方案1】:

互联网上 99% 的 PHP 教程已经过时,提倡糟糕的代码,或者是由可能不应该教 PHP 的人编写的(通常是以上所有)。你应该找到handful of good ones

包括我在内的开发人员通常更喜欢 PDO,而不是 mysqli。一方面,它可以处理比 MySQL 更多的数据库。

【讨论】:

  • 第一句话+1,如果可能的话,下一句也会+1。
  • 链接页面被删除。你能在这个答案中列出好的 PHP 教程吗?
  • @MAKZ 只要获得 10k 代表,你就可以看到 :)
  • @alex 为什么我要花 1 年多的时间来查看您可以在不到 1 分钟的时间内提供的列表?先生,帮我一个忙!
【解决方案2】:

从实际角度回答你的问题

大多数教程都以程序方式进行是否有原因?

足以说明原因与技术无关。

mysqli 过程式 vs oop 有什么区别?有吗?

没有。

我是否必须安装任何扩展程序

否(当然,除了 mysqli 本身)。

另外,什么时候使用 PDO 比较好?

是的。事实上,PDO 将是唯一明智的选择。

您必须了解,一组 mysqli 函数只是一个低级 API,并不打算按原样使用。必须在 mysqli 上实现一个包装器,然后使用这个包装器的方法。虽然 PDO 已经是这样的包装器,但它可以帮助执行许多任务。我写了a guide on PDO,强调了它的好处并揭露了一些迷信,我希望你能找到许多你肯定有的问题的答案。

【讨论】:

    【解决方案3】:

    大多数mysqli_* 函数是对象方法的别名(PHP 内部允许使用 C 宏轻松实现这一点,因此许多扩展都使用这种方法)。但可用性也是为了熟悉,因此旧 mysql 功能的用户可以更轻松地适应新界面。使用 OOP 或程序界面实际上只是样式/偏好。

    PDO 现在通常是首选,但它不提供许多 mysql 特定的功能。所以mysqli扩展可能还有一些用例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 2017-05-24
      • 2015-08-01
      相关资源
      最近更新 更多