summaryrefslogtreecommitdiff
path: root/ext/sqlite/sqlite.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sqlite/sqlite.c')
-rw-r--r--ext/sqlite/sqlite.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c
index 3d20f3699d..60f3bb7790 100644
--- a/ext/sqlite/sqlite.c
+++ b/ext/sqlite/sqlite.c
@@ -112,6 +112,12 @@ PHP_INI_END()
PG(suppress_errors) = 0; \
EG(exception) = zend_throw_exception(sqlite_ce_exception, message, 0 TSRMLS_CC);
+#define PHP_SQLITE_EMPTY_QUERY \
+ if (!sql_len) { \
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot execute empty query."); \
+ RETURN_FALSE; \
+ }
+
struct php_sqlite_result {
struct php_sqlite_db *db;
sqlite_vm *vm;
@@ -1538,6 +1544,8 @@ PHP_FUNCTION(sqlite_unbuffered_query)
DB_FROM_ZVAL(db, &zdb);
}
+ PHP_SQLITE_EMPTY_QUERY;
+
/* avoid doing work if we can */
if (!return_value_used) {
db->last_err_code = sqlite_exec(db->db, sql, NULL, NULL, &errtext);
@@ -1645,6 +1653,8 @@ PHP_FUNCTION(sqlite_query)
DB_FROM_ZVAL(db, &zdb);
}
+ PHP_SQLITE_EMPTY_QUERY;
+
/* avoid doing work if we can */
if (!return_value_used) {
db->last_err_code = sqlite_exec(db->db, sql, NULL, NULL, &errtext);
@@ -2004,6 +2014,8 @@ PHP_FUNCTION(sqlite_array_query)
DB_FROM_ZVAL(db, &zdb);
}
+ PHP_SQLITE_EMPTY_QUERY;
+
/* avoid doing work if we can */
if (!return_value_used) {
db->last_err_code = sqlite_exec(db->db, sql, NULL, NULL, &errtext);
@@ -2118,6 +2130,8 @@ PHP_FUNCTION(sqlite_single_query)
DB_FROM_ZVAL(db, &zdb);
}
+ PHP_SQLITE_EMPTY_QUERY;
+
/* avoid doing work if we can */
if (!return_value_used) {
db->last_err_code = sqlite_exec(db->db, sql, NULL, NULL, &errtext);