【问题标题】:Do all mysqli PHP functions have mysqli or do some have just mysql?是所有 mysqli PHP 函数都有 mysqli 还是有些只有 mysql?
【发布时间】:2011-02-24 05:47:41
【问题描述】:

我刚刚了解到有两种类型(?)的 mySQL 函数——mysql 和 mysqli。在 w3schools 上,只有 mysql 函数包含在他们的 PHP 部分 http://www.w3schools.com/php/php_ref_mysql.asp 中。如果我要将 mysql 函数转换为 mysqli 函数,我可以添加 'i' 吗?例如,对于函数 mysql_select_db(),我是否只需将其更改为 mysqli_select_db() 以在 mysqli 版本中获得相同的函数?

如果是,有没有我做不到的 mysql 函数?

最后,是否有没有 mysql 等效的任何 mysqli 函数,并且在任何地方都有它们的最新列表?

【问题讨论】:

    标签: php mysql mysqli


    【解决方案1】:

    mysqli PHP 模块提供的mysqli_* 函数是mysql_* 函数的超集。它们取代并替换了mysql 模块,尽管出于兼容性原因,大多数服务器都提供这两种模块。 mysqli 代表 MySQL 改进。

    实际上,您应该将PDO 用于任何新代码,而不是这些函数集。

    尽管如此,供您参考:

    回复:W3 学校,请have a read of this site。他们在很多事情上都非常正确,包括 W3 Schools 糟糕的 PHP 教程。 The PHP documention at php.net 非常全面,始终是最新的,并且在大多数情况下非常好。

    【讨论】:

    • 我不确定我是否知道成为超集的含义,所以我仍然无法弄清楚是否可以将 mysql_* 函数更改为 mysqli_*。我还听说不能同时使用 mysql 和 mysqli 函数。所以我很困惑。有什么方法可以更直接地回答我的问题吗?谢谢。
    • @Sam 超集意味着每个mysql 函数都有一个(已弃用)mysqli 函数,但反过来并不总是如此。我还使用 PHP 官方文档中的两个模块的函数列表扩展了答案。但是,您应该使用 PDO,而不是这些函数中的任何一个。使用 PDO 只需更改连接字符串即可使您的代码自动适用于 mysql 以外的其他数据库系统(忽略 SQL 方言中的细微差异,这有时会导致问题)
    • 好的,我想这意味着我必须回到绘图板上。感谢您的链接和您的解释!
    • @Sam php.net 上的文档非常好。在尝试查找其他信息之前,您应该尝试通读该内容。
    猜你喜欢
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 2016-11-30
    相关资源
    最近更新 更多