terrafrost / php7-mysql-shim
PHP 7 下的 ext/mysql 补丁
1.0.0beta2
2017-01-12 20:22 UTC
Requires
- php: >=5.3.6
- ext-mysqli: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^1.9|^2.0
- phpunit/phpunit: ^4.8|^5.2
- squizlabs/php_codesniffer: ^2.3
This package is auto-updated.
Last update: 2024-09-05 02:59:16 UTC
README
PHP 7 下 ext/mysql 补丁
这个库尝试使用 mysqli 来创建 ext/mysql 在 PHP 7 下的替代品。
大部分情况下,它应该可以 正常工作。
为什么你不应该使用这个库
这个库旨在作为 临时解决方案。它的速度将比直接使用原生函数慢。
你应该切换到 ext/pdo_mysql
或 ext/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_host
、mysqli.default_user
、mysqli.default_pw
)。