diff options
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | lib/mysql.php | 12 | ||||
-rw-r--r-- | tests/MySqlShimTest.php | 13 |
3 files changed, 19 insertions, 7 deletions
@@ -25,7 +25,6 @@ Once the file is included, it will create `mysql_*` function if they don't alrea ## Caveats - Calls to `is_resource()` and `get_resource_type()` on MySQL connections and results will fail as these are now their `mysqli` equivalents. -<<<<<<< HEAD - Some errors are now from `ext/mysqli`, and others are `E_USER_WARNING` instead of `E_WARNING`. - You must use the `mysqli.*` INI entries instead of `mysql.*` (e.g. `mysqli.default_user` instead of `mysql.default_user`) - Column lengths reported by `mysql_field_len()` assume `latin1` diff --git a/lib/mysql.php b/lib/mysql.php index 01fe58e..e587c2a 100644 --- a/lib/mysql.php +++ b/lib/mysql.php @@ -20,14 +20,14 @@ namespace { if ($new !== false) { trigger_error('Argument $new is no longer supported in PHP > 7', E_USER_WARNING); } - if (!$hostname) { - $hostname = ini_get("mysqli.default_host"); + if (null === $hostname) { + $hostname = ini_get('mysqli.default_host') ?: null; } - if (!$username) { - $username = ini_get("mysqli.default_user"); + if (null === $username) { + $username = ini_get('mysqli.default_user') ?: null; } - if (!$password) { - $password = ini_get("mysqli.default_pw"); + if (null === $password) { + $password = ini_get('mysqli.default_pw') ?: null; } $hash = sha1($hostname . $username . $flags); diff --git a/tests/MySqlShimTest.php b/tests/MySqlShimTest.php index 2945464..ccaeec8 100644 --- a/tests/MySqlShimTest.php +++ b/tests/MySqlShimTest.php @@ -24,6 +24,19 @@ class MySqlShimTest extends \PHPUnit_Framework_TestCase } /** + * @requires PHP 7 + */ + public function test_mysql_connect_defaults() + { + ini_set('mysqli.default_host', '127.0.0.1'); + ini_set('mysqli.default_user', 'root'); + ini_set('mysqli.default_pw', ''); + + $mysql = mysql_connect(); + $this->assertConnection($mysql); + } + + /** * @expectedException \PHPUnit_Framework_Error_Warning * @expectedExceptionMessageRegExp /^mysql(i?)_connect\(\): (\(HY000\/1045\): )?Access denied for user 'baduser'@'(.*?)' \(using password: YES\)$/ */ |