]> granicus.if.org Git - php/commitdiff
stmt->column_count is set only if the result has been already bound, don't
authorAndrey Hristov <andrey@php.net>
Sun, 10 Jul 2005 02:58:51 +0000 (02:58 +0000)
committerAndrey Hristov <andrey@php.net>
Sun, 10 Jul 2005 02:58:51 +0000 (02:58 +0000)
rely on that and use the real count which is kept in st_mysql_stmt
#of course using internal values is bad idea but the comment already says
#that this should be fixed

ext/pdo_mysql/mysql_statement.c

index bfade370fb3deb919048ceda304c8dd0cc80059e..0051313b71f1ecbd5a554030cd990b71ffe9f96b 100755 (executable)
@@ -96,11 +96,11 @@ static int pdo_mysql_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC)
                        my_bool on = 1;
                        /* if we have bound the buffers don't set the attribute again */
                        if (!S->result) {
-                               for (i= 0; i < stmt->column_count; i++) {
-                                       /*
-                                               FIXME: using directly internal structs - but for now cleaner
-                                               then calling 2 times result_metadata.
-                                       */
+                               /*
+                               FIXME: using directly internal structs - but for now cleaner
+                               then calling 2 times result_metadata.
+                               */
+                               for (i= 0; i < S->stmt->field_count; i++) {
                                        switch (S->fields[i].type) {
                                                case MYSQL_TYPE_MEDIUM_BLOB:
                                                case MYSQL_TYPE_LONG_BLOB: