summaryrefslogtreecommitdiff
path: root/ext/mysqli/mysqli_api.c
diff options
context:
space:
mode:
authorGeorg Richter <georg@php.net>2004-12-20 16:42:20 +0000
committerGeorg Richter <georg@php.net>2004-12-20 16:42:20 +0000
commit001a3117acbdee2c48000053a5ffdf59234eab3d (patch)
treee22bea3f9494feb3bd295fbd691143980851028a /ext/mysqli/mysqli_api.c
parent3ed65da8cbe21f4fbf516e32664e898f26a0fc5f (diff)
downloadphp-git-001a3117acbdee2c48000053a5ffdf59234eab3d.tar.gz
MFH: Fixed type conversion for NULL values in mysql_stmt_execute
Diffstat (limited to 'ext/mysqli/mysqli_api.c')
-rw-r--r--ext/mysqli/mysqli_api.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c
index 9c46c4d393..c10f521d50 100644
--- a/ext/mysqli/mysqli_api.c
+++ b/ext/mysqli/mysqli_api.c
@@ -540,25 +540,25 @@ PHP_FUNCTION(mysqli_stmt_execute)
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)) {