hholzgra Tue Dec 25 18:23:07 2007 UTC Added files: /php-src/ext/mysqli/tests bug42548.phpt
Modified files: /php-src/ext/mysqli mysqli_api.c Log: Fix for bug #42548 "PROCEDURE xxx can't return a result set" http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_api.c?r1=1.155&r2=1.156&diff_format=u Index: php-src/ext/mysqli/mysqli_api.c diff -u php-src/ext/mysqli/mysqli_api.c:1.155 php-src/ext/mysqli/mysqli_api.c:1.156 --- php-src/ext/mysqli/mysqli_api.c:1.155 Fri Nov 9 12:13:15 2007 +++ php-src/ext/mysqli/mysqli_api.c Tue Dec 25 18:23:07 2007 @@ -17,7 +17,7 @@ | Ulf Wendel <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ - $Id: mysqli_api.c,v 1.155 2007/11/09 12:13:15 andrey Exp $ + $Id: mysqli_api.c,v 1.156 2007/12/25 18:23:07 hholzgra Exp $ */ #ifdef HAVE_CONFIG_H @@ -1696,6 +1696,8 @@ MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_INITIALIZED); + /* set some required options */ + flags |= CLIENT_MULTI_RESULTS; /* needed for mysql_multi_query() */ /* remove some insecure options */ flags &= ~CLIENT_MULTI_STATEMENTS; /* don't allow multi_queries via connect parameter */ if (PG(open_basedir) && PG(open_basedir)[0] != '\0') { http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/bug42548.phpt?view=markup&rev=1.1 Index: php-src/ext/mysqli/tests/bug42548.phpt +++ php-src/ext/mysqli/tests/bug42548.phpt --TEST-- Bug #42548 PROCEDURE xxx can't return a result set in the given context (works in 5.2.3!!) --SKIPIF-- <?php if (!extension_loaded("mysqli")) print "skip"; ?> --FILE-- <?php $mysqli = mysqli_init(); $mysqli->real_connect('localhost', 'root', '', 'test'); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $mysqli->query("DROP PROCEDURE IF EXISTS p1") or die($mysqli->error); $mysqli->query("CREATE PROCEDURE p1() BEGIN SELECT 23; SELECT 42; END") or die($mysqli->error); if ($mysqli->multi_query("CALL p1();")) { do { if ($objResult = $mysqli->store_result()) { while ($row = $objResult->fetch_assoc()) { print_r($row); } $objResult->close(); if ($mysqli->more_results()) { print "----- next result -----------\n"; } } else { print "no results found"; } } while ($mysqli->more_results() && $mysqli->next_result()); } else { print $mysqli->error; } $mysqli->query("DROP PROCEDURE p1") or die($mysqli->error); $mysqli->close(); ?> --EXPECT-- Array ( [23] => 23 ) ----- next result ----------- Array ( [42] => 42 ) ----- next result ----------- no results found -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php