terrafrost/php7-mysql-shim

PHP 7 下的 ext/mysql 补丁

1.0.0beta2 2017-01-12 20:22 UTC

This package is auto-updated.

Last update: 2024-09-05 02:59:16 UTC


README

Build Status Build status Scrutinizer Code Quality Code Coverage SensioLabsInsight

PHP 7 下 ext/mysql 补丁

这个库尝试使用 mysqli 来创建 ext/mysql 在 PHP 7 下的替代品。

大部分情况下,它应该可以 正常工作

为什么你不应该使用这个库

这个库旨在作为 临时解决方案。它的速度将比直接使用原生函数慢。

你应该切换到 ext/pdo_mysqlext/mysqli,并迁移到 预处理查询 以确保你安全地与数据库交互。

安装

要安装,请将 dshafik/php7-mysql-shim 添加到你的 composer.json

$ composer require dshafik/php7-mysql-shim

或者,克隆/下载此仓库,并将 lib/mysql.php 包含到你的项目中。

使用

使用 composer 安装后,库将自动包含。

一旦包含 lib/mysql.php 文件,它将创建 mysql_* 函数(如果尚未存在)。 你可以安全地在 PHP 5.3.6+ 项目中包含此文件,如果 mysql 扩展已经可用,它将不执行任何操作。

注意事项

  • 对 MySQL 连接和结果调用 is_resource()get_resource_type() 将失败,因为这些现在是它们的 mysqli 等价物。
  • 一些错误现在来自 ext/mysqli,其他的是 E_USER_WARNING 而不是 E_WARNING
  • 你必须使用 mysqli.* INI 条目而不是 mysql.*(例如,使用 mysqli.default_user 而不是 mysql.default_user)。
  • 如果使用 mysql_* 函数时没有提供主机、用户名、密码参数,将使用 php.ini 文件中相应的 mysqli.* 设置的默认值(例如,mysqli.default_hostmysqli.default_usermysqli.default_pw)。