]> granicus.if.org Git - php/commitdiff
added support for data truncation (bind_result) for MySQL 5.0.5
authorGeorg Richter <georg@php.net>
Wed, 20 Apr 2005 12:50:13 +0000 (12:50 +0000)
committerGeorg Richter <georg@php.net>
Wed, 20 Apr 2005 12:50:13 +0000 (12:50 +0000)
ext/mysqli/mysqli.c
ext/mysqli/mysqli_api.c

index 69403519b61fa7d5e46f9f9be5f8b9c1e4c081d0..31fb11d5f740299ba1116915cee15a15362b9cc3 100644 (file)
@@ -561,8 +561,11 @@ PHP_MINIT_FUNCTION(mysqli)
        REGISTER_LONG_CONSTANT("MYSQLI_RPL_SLAVE", MYSQL_RPL_SLAVE, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("MYSQLI_RPL_ADMIN", MYSQL_RPL_ADMIN, CONST_CS | CONST_PERSISTENT);
        
-       /* bind blob support */
+       /* bind support */
        REGISTER_LONG_CONSTANT("MYSQLI_NO_DATA", MYSQL_NO_DATA, CONST_CS | CONST_PERSISTENT);
+#ifdef MYSQL_DATA_TRUNCATION
+       REGISTER_LONG_CONSTANT("MYSQLI_DATA_TRUNCATION", MYSQL_DATA_TRUNCATION, CONST_CS | CONST_PERSISTENT);
+#endif
 
        /* reporting */
        REGISTER_LONG_CONSTANT("MYSQLI_REPORT_INDEX", MYSQLI_REPORT_INDEX, CONST_CS | CONST_PERSISTENT);
index 5c7b4ca96164815e544207ab31f1fb89142b5fe8..cf58e6104489ebf8d522e47138e199876b39ffb4 100644 (file)
@@ -606,7 +606,12 @@ PHP_FUNCTION(mysqli_stmt_fetch)
                        memset(stmt->result.buf[i].val, 0, stmt->result.buf[i].buflen);
                }
        }
-       if (!(ret = mysql_stmt_fetch(stmt->stmt))) {
+       ret = mysql_stmt_fetch(stmt->stmt);
+#ifdef MYSQL_DATA_TRUNCATED
+       if (!ret || ret == MYSQL_DATA_TRUNCATED) {
+#else
+       if (!ret || ret == MYSQL_DATA_TRUNCATED) {
+#endif
                for (i = 0; i < stmt->result.var_cnt; i++) {
                        if (stmt->result.vars[i]->type == IS_STRING && stmt->result.vars[i]->value.str.len) {
                        efree(stmt->result.vars[i]->value.str.val);