terrafrost / php7-mysql-shim
A PHP 7 shim for ext/mysql
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-12-05 03:34:53 UTC
README
PHP 7 Shim for ext/mysql
This library attempts to create a drop-in replacement for ext/mysql on PHP 7 using mysqli.
For the most part, it should just work.
Why You Shouldn't Use This Library
This library is meant to be a stop-gap. It will be slower than using the native functions directly.
You should switch to ext/pdo_mysql
or ext/mysqli
, and migrate to prepared queries to ensure you are securely interacting with your database.
Installation
To install, either add dshafik/php7-mysql-shim
to your composer.json
:
$ composer require dshafik/php7-mysql-shim
or, clone/download this repo, and include lib/mysql.php
in your project.
Usage
When installed with composer, the library is included automatically.
Once the lib/mysql.php
file is included, it will create mysql_*
functions if they don't already exist. You may safely include the file in a PHP 5.3.6+ project, it will do nothing if the mysql extension is already available.
Caveats
- Calls to
is_resource()
andget_resource_type()
on MySQL connections and results will fail as these are now theirmysqli
equivalents. - Some errors are now from
ext/mysqli
, and others areE_USER_WARNING
instead ofE_WARNING
. - You must use the
mysqli.*
INI entries instead ofmysql.*
(e.g.mysqli.default_user
instead ofmysql.default_user
) - If no host, username, password parameter is provided when using the
mysql_*
functions, the default values from the correspondingmysqli.*
settings fromphp.ini
file will be used (e.g.mysqli.default_host
,mysqli.default_user
,mysqli.default_pw
)