iliaa Fri Dec 8 19:51:29 2006 UTC
Modified files:
/php-src/ext/pdo_mysql mysql_statement.c
/php-src/ext/pdo pdo_stmt.c
Log:
MFB: Fixed bug #39759 (Can't use stored procedures fetching multiple result
sets in pdo_mysql).
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_mysql/mysql_statement.c?r1=1.57&r2=1.58&diff_format=u
Index: php-src/ext/pdo_mysql/mysql_statement.c
diff -u php-src/ext/pdo_mysql/mysql_statement.c:1.57
php-src/ext/pdo_mysql/mysql_statement.c:1.58
--- php-src/ext/pdo_mysql/mysql_statement.c:1.57 Sat Dec 2 17:55:05 2006
+++ php-src/ext/pdo_mysql/mysql_statement.c Fri Dec 8 19:51:29 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mysql_statement.c,v 1.57 2006/12/02 17:55:05 iliaa Exp $ */
+/* $Id: mysql_statement.c,v 1.58 2006/12/08 19:51:29 iliaa Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -239,15 +239,15 @@
/* No more results */
return 0;
} else {
- if ((my_ulonglong)-1 == (row_count =
mysql_affected_rows(H->server))) {
- pdo_mysql_error_stmt(stmt);
- return 0;
- }
-
if (!H->buffered) {
S->result = mysql_use_result(H->server);
+ row_count = 0;
} else {
S->result = mysql_store_result(H->server);
+ if ((my_ulonglong)-1 == (row_count =
mysql_affected_rows(H->server))) {
+ pdo_mysql_error_stmt(stmt);
+ return 0;
+ }
}
if (NULL == S->result) {
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_stmt.c?r1=1.169&r2=1.170&diff_format=u
Index: php-src/ext/pdo/pdo_stmt.c
diff -u php-src/ext/pdo/pdo_stmt.c:1.169 php-src/ext/pdo/pdo_stmt.c:1.170
--- php-src/ext/pdo/pdo_stmt.c:1.169 Mon Dec 4 03:08:52 2006
+++ php-src/ext/pdo/pdo_stmt.c Fri Dec 8 19:51:29 2006
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pdo_stmt.c,v 1.169 2006/12/04 03:08:52 iliaa Exp $ */
+/* $Id: pdo_stmt.c,v 1.170 2006/12/08 19:51:29 iliaa Exp $ */
/* The PDO Statement Handle Class */
@@ -1827,10 +1827,6 @@
static int pdo_stmt_do_next_rowset(pdo_stmt_t *stmt TSRMLS_DC)
{
- if (!stmt->methods->next_rowset(stmt TSRMLS_CC)) {
- return 0;
- }
-
/* un-describe */
if (stmt->columns) {
int i;
@@ -1844,6 +1840,10 @@
stmt->column_count = 0;
}
+ if (!stmt->methods->next_rowset(stmt TSRMLS_CC)) {
+ return 0;
+ }
+
pdo_stmt_describe_columns(stmt TSRMLS_CC);
return 1;
@@ -1864,8 +1864,6 @@
PDO_HANDLE_STMT_ERR();
RETURN_FALSE;
}
-
- pdo_stmt_describe_columns(stmt TSRMLS_CC);
RETURN_TRUE;
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php