]> granicus.if.org Git - php/commitdiff
proper fix for PECL Bug #3412
authorWez Furlong <wez@php.net>
Wed, 9 Feb 2005 14:32:04 +0000 (14:32 +0000)
committerWez Furlong <wez@php.net>
Wed, 9 Feb 2005 14:32:04 +0000 (14:32 +0000)
ext/pdo_sqlite/sqlite_statement.c

index a2f5ca0826a62f90981f3e3206373824a93a476d..415f494f0c4b6d110cb68d67c881505969bc70d0 100644 (file)
@@ -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);