summaryrefslogtreecommitdiff
path: root/ext/mysqlnd/mysqlnd_result_meta.c
diff options
context:
space:
mode:
authorUlf Wendel <uw@php.net>2009-09-09 17:03:03 +0000
committerUlf Wendel <uw@php.net>2009-09-09 17:03:03 +0000
commit5f260e14b2b809ab2969db7ee1affff7ae7d5405 (patch)
tree55880da37f0cd8056a399d976f838685df54d608 /ext/mysqlnd/mysqlnd_result_meta.c
parent95b386357961d42892d9a41d51803bcdac13629f (diff)
downloadphp-git-5f260e14b2b809ab2969db7ee1affff7ae7d5405.tar.gz
Next attempt to fix http://bugs.php.net/bug.php?id=48745. Patch by Andrey.
Diffstat (limited to 'ext/mysqlnd/mysqlnd_result_meta.c')
-rw-r--r--ext/mysqlnd/mysqlnd_result_meta.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/mysqlnd/mysqlnd_result_meta.c b/ext/mysqlnd/mysqlnd_result_meta.c
index 7a75003927..95ef93a65b 100644
--- a/ext/mysqlnd/mysqlnd_result_meta.c
+++ b/ext/mysqlnd/mysqlnd_result_meta.c
@@ -165,8 +165,15 @@ MYSQLND_METHOD(mysqlnd_res_meta, read_metadata)(MYSQLND_RES_METADATA * const met
PACKET_FREE_ALLOCA(field_packet);
DBG_RETURN(FAIL);
}
+ if (field_packet.error_info.error_no) {
+ conn->error_info = field_packet.error_info;
+ /* Return back from CONN_QUERY_SENT */
+ PACKET_FREE_ALLOCA(field_packet);
+ DBG_RETURN(FAIL);
+ }
+
if (field_packet.stupid_list_fields_eof == TRUE) {
- meta->field_count = i + 1;
+ meta->field_count = i;
break;
}