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