From a6e755d6aad75ba47f6a8bd655f045789aa7964d Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Thu, 20 Dec 2007 00:26:21 +0000 Subject: Fixed bug #43635 (mysql extension ingores INI settings on NULL values passed to mysql_connect()) --- ext/mysql/php_mysql.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'ext/mysql/php_mysql.c') diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c index eeca44fb6e..ed86e2a0a4 100644 --- a/ext/mysql/php_mysql.c +++ b/ext/mysql/php_mysql.c @@ -643,16 +643,22 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) hashed_details_length = spprintf(&hashed_details, 0, "mysql__%s_", user); client_flags = CLIENT_INTERACTIVE; } else { - host_and_port = MySG(default_host); - user = MySG(default_user); - passwd = MySG(default_password); - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|sssll", &host_and_port, &host_len, + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s!s!s!ll", &host_and_port, &host_len, &user, &user_len, &passwd, &passwd_len, &new_link, &client_flags)==FAILURE) { WRONG_PARAM_COUNT; } + if (!host_and_port) { + host_and_port = MySG(default_host); + } + if (!user) { + user = MySG(default_user); + } + if (!passwd) { + passwd = MySG(default_password); + } + /* mysql_pconnect does not support new_link parameter */ if (persistent) { client_flags= new_link; -- cgit v1.2.1