From: Ilia Alshanetsky Date: Thu, 20 Dec 2007 00:26:21 +0000 (+0000) Subject: Fixed bug #43635 (mysql extension ingores INI settings on NULL values passed X-Git-Tag: RELEASE_1_3_1~483 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a6e755d6aad75ba47f6a8bd655f045789aa7964d;p=php Fixed bug #43635 (mysql extension ingores INI settings on NULL values passed to mysql_connect()) --- 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;