summaryrefslogtreecommitdiff
path: root/ext/pdo_sqlite/sqlite_statement.c
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2005-02-09 14:32:04 +0000
committerWez Furlong <wez@php.net>2005-02-09 14:32:04 +0000
commitad60999858aa702c0e1944e209dbaaba3be3b92c (patch)
tree4c0aabed5c17bf3e26273f8ec3563d5ef633c020 /ext/pdo_sqlite/sqlite_statement.c
parent08592b38da80aded6d7740dd259874d5cb5b77c2 (diff)
downloadphp-git-ad60999858aa702c0e1944e209dbaaba3be3b92c.tar.gz
proper fix for PECL Bug #3412
Diffstat (limited to 'ext/pdo_sqlite/sqlite_statement.c')
-rw-r--r--ext/pdo_sqlite/sqlite_statement.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/ext/pdo_sqlite/sqlite_statement.c b/ext/pdo_sqlite/sqlite_statement.c
index a2f5ca0826..415f494f0c 100644
--- a/ext/pdo_sqlite/sqlite_statement.c
+++ b/ext/pdo_sqlite/sqlite_statement.c
@@ -113,10 +113,15 @@ static int pdo_sqlite_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_d
case PDO_PARAM_STR:
default:
- i = sqlite3_bind_text(S->stmt, param->paramno + 1,
- Z_STRVAL_P(param->parameter),
- Z_STRLEN_P(param->parameter),
- SQLITE_STATIC);
+ if (Z_TYPE_P(param->parameter) == IS_NULL) {
+ i = sqlite3_bind_null(S->stmt, param->paramno + 1);
+ } else {
+ convert_to_string(param->parameter);
+ i = sqlite3_bind_text(S->stmt, param->paramno + 1,
+ Z_STRVAL_P(param->parameter),
+ Z_STRLEN_P(param->parameter),
+ SQLITE_STATIC);
+ }
if (i == SQLITE_OK)
return 1;
pdo_sqlite_error_stmt(stmt);