Only in pdo_mysql: acinclude.m4 Only in pdo_mysql: aclocal.m4 Only in pdo_mysql: autom4te.cache Only in pdo_mysql: build Only in pdo_mysql: config.guess Only in pdo_mysql: config.h Only in pdo_mysql: config.h.in Only in pdo_mysql: config.log Only in pdo_mysql: config.nice Only in pdo_mysql: config.status Only in pdo_mysql: config.sub Only in pdo_mysql: configure Only in pdo_mysql: configure.in Only in pdo_mysql: .deps Only in pdo_mysql: include Only in pdo_mysql: install-sh Only in pdo_mysql: libtool Only in pdo_mysql: ltmain.sh Only in pdo_mysql: Makefile Only in pdo_mysql: Makefile.fragments Only in pdo_mysql: Makefile.global Only in pdo_mysql: Makefile.objects Only in pdo_mysql: missing Only in pdo_mysql: mkinstalldirs Only in pdo_mysql: modules diff -crB pdo_mysql/mysql_statement.c pdo_mysql.original/mysql_statement.c *** pdo_mysql/mysql_statement.c 2009-05-26 19:22:17.000000000 +0300 --- pdo_mysql.original/mysql_statement.c 2009-05-26 19:22:41.000000000 +0300 *************** *** 86,140 **** return 1; } - #define ROWS_MATCHED 1 - #define ROWS_MATCHED_INFO "Rows matched: " - #define MAX_MATCHED_LEN 100 - - static long parseMysqlRowsMatched( const char *pcInfo ) - { - const char *pcLocation = NULL; - pcLocation = strstr( pcInfo , ROWS_MATCHED_INFO ); - if( ! pcLocation ) { - return 0; - } - - char acRowsMatched[MAX_MATCHED_LEN] = {0}; - pcLocation += strlen( ROWS_MATCHED_INFO ); - - int i = 0; - int iLocationPointer = 0; - while( isdigit( pcLocation[i] ) ) { - acRowsMatched[iLocationPointer++] = pcLocation[i]; - i++; - } - - return atoi( acRowsMatched ); - - } - - - static long parseMysqlInfo( const char *pcInfo , int mode ) - { - switch( mode ) - { - case ROWS_MATCHED: - return parseMysqlRowsMatched( pcInfo ); - break; - default: - return 0; - } - - return 0; - } - static int pdo_mysql_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC) { - pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data; pdo_mysql_db_handle *H = S->H; my_ulonglong row_count; - const char *pcMysqlInfo = NULL ; - long matchedRows = 0; #if HAVE_MYSQL_STMT_PREPARE int i; --- 86,96 ---- *************** *** 243,256 **** } } - //change by Amr Shahin - //26-5-2009 row_count = mysql_stmt_affected_rows(S->stmt); - pcMysqlInfo = mysql_info(H->server); - - matchedRows = parseMysqlInfo( pcMysqlInfo , ROWS_MATCHED ); - - stmt->matchedRows = matchedRows ; if (row_count != (my_ulonglong)-1) { stmt->row_count = row_count; } --- 199,205 ---- *************** *** 268,282 **** return 0; } - pcMysqlInfo = mysql_info(H->server); - row_count = mysql_affected_rows(H->server); - - //change by Amr Shahin - //26-5-2009 - matchedRows = parseMysqlInfo( pcMysqlInfo , ROWS_MATCHED ); - stmt->matchedRows = matchedRows ; - if (row_count == (my_ulonglong)-1) { /* we either have a query that returned a result set or an error occured lets see if we have access to a result set */ --- 217,223 ---- Only in pdo_mysql: run-tests.php