cvs: php-src(PHP_5_0) / NEWS /ext/mysqli mysqli_api.c
| From: | Georg Richter | Date: | Mon, 20 Dec 2004 16:42:20 +0000 |
| Subject: | cvs: php-src(PHP_5_0) / NEWS /ext/mysqli mysqli_api.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-29602@lists.php.net to get a copy of this message | ||
georg Mon Dec 20 11:42:20 2004 EDT
Modified files: (Branch: PHP_5_0)
/php-src NEWS
/php-src/ext/mysqli mysqli_api.c
Log:
MFH: Fixed type conversion for NULL values in mysql_stmt_execute
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1760.2.168&r2=1.1760.2.169&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1760.2.168 php-src/NEWS:1.1760.2.169
--- php-src/NEWS:1.1760.2.168 Sun Dec 19 13:17:43 2004
+++ php-src/NEWS Mon Dec 20 11:42:19 2004
@@ -1,6 +1,7 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2005, PHP 5.0.4
+- Fixed a bug in mysql_stmt_execute (type conversion with NULL values). (Georg)
- Fixed bug #31139 (XML Parser Functions seem to drop & when parsing). (Rob)
- Fixed bug #31111 (Compile failure of zend_strtod.c). (Derick)
- Fixed bug #31110 (PHP 4.3.10 does not compile on Tru64 UNIX 5.1B). (Derick)
http://cvs.php.net/diff.php/php-src/ext/mysqli/mysqli_api.c?r1=1.87.2.5&r2=1.87.2.6&ty=u
Index: php-src/ext/mysqli/mysqli_api.c
diff -u php-src/ext/mysqli/mysqli_api.c:1.87.2.5 php-src/ext/mysqli/mysqli_api.c:1.87.2.6
--- php-src/ext/mysqli/mysqli_api.c:1.87.2.5 Mon Nov 1 02:57:45 2004
+++ php-src/ext/mysqli/mysqli_api.c Mon Dec 20 11:42:20 2004
@@ -15,7 +15,7 @@
| Author: Georg Richter <georg@php.net> |
+----------------------------------------------------------------------+
- $Id: mysqli_api.c,v 1.87.2.5 2004/11/01 07:57:45 georg Exp $
+ $Id: mysqli_api.c,v 1.87.2.6 2004/12/20 16:42:20 georg Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -540,25 +540,25 @@
for (i = 0; i < stmt->param.var_cnt; i++) {
if (stmt->param.vars[i]) {
- stmt->param.is_null[i] = (stmt->param.vars[i]->type == IS_NULL);
-
- switch (stmt->stmt->params[i].buffer_type) {
- case MYSQL_TYPE_VAR_STRING:
- convert_to_string_ex(&stmt->param.vars[i]);
- stmt->stmt->params[i].buffer = Z_STRVAL_PP(&stmt->param.vars[i]);
- stmt->stmt->params[i].buffer_length = strlen(Z_STRVAL_PP(&stmt->param.vars[i]));
- break;
- case MYSQL_TYPE_DOUBLE:
- convert_to_double_ex(&stmt->param.vars[i]);
- stmt->stmt->params[i].buffer = (gptr)&Z_LVAL_PP(&stmt->param.vars[i]);
- break;
- case MYSQL_TYPE_LONG:
- convert_to_long_ex(&stmt->param.vars[i]);
- stmt->stmt->params[i].buffer = (gptr)&Z_LVAL_PP(&stmt->param.vars[i]);
- break;
- default:
- break;
- }
+ if ( !(stmt->param.is_null[i] = (stmt->param.vars[i]->type == IS_NULL)) ) {
+ switch (stmt->stmt->params[i].buffer_type) {
+ case MYSQL_TYPE_VAR_STRING:
+ convert_to_string_ex(&stmt->param.vars[i]);
+ stmt->stmt->params[i].buffer = Z_STRVAL_PP(&stmt->param.vars[i]);
+ stmt->stmt->params[i].buffer_length = strlen(Z_STRVAL_PP(&stmt->param.vars[i]));
+ break;
+ case MYSQL_TYPE_DOUBLE:
+ convert_to_double_ex(&stmt->param.vars[i]);
+ stmt->stmt->params[i].buffer = (gptr)&Z_LVAL_PP(&stmt->param.vars[i]);
+ break;
+ case MYSQL_TYPE_LONG:
+ convert_to_long_ex(&stmt->param.vars[i]);
+ stmt->stmt->params[i].buffer = (gptr)&Z_LVAL_PP(&stmt->param.vars[i]);
+ break;
+ default:
+ break;
+ }
+ }
}
}
if (mysql_stmt_execute(stmt->stmt)) {