diff options
author | Stanislav Malyshev <stas@php.net> | 2004-05-13 14:54:55 +0000 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2004-05-13 14:54:55 +0000 |
commit | 49a1413f504e503031c11e77b9b64a55f2213932 (patch) | |
tree | a6b98a3a111e87439f9edec0aa181eda3ef4bdfa | |
parent | 395478d363bd4b7eb4f5ba3f057279d04722b7ba (diff) | |
download | php-git-49a1413f504e503031c11e77b9b64a55f2213932.tar.gz |
add sqlite_exec - now to the right tag
-rw-r--r-- | ext/sqlite/php_sqlite.h | 1 | ||||
-rw-r--r-- | ext/sqlite/sqlite.c | 32 |
2 files changed, 33 insertions, 0 deletions
diff --git a/ext/sqlite/php_sqlite.h b/ext/sqlite/php_sqlite.h index 1d38a3e21c..4735133320 100644 --- a/ext/sqlite/php_sqlite.h +++ b/ext/sqlite/php_sqlite.h @@ -46,6 +46,7 @@ PHP_FUNCTION(sqlite_open); PHP_FUNCTION(sqlite_popen); PHP_FUNCTION(sqlite_close); PHP_FUNCTION(sqlite_query); +PHP_FUNCTION(sqlite_exec); PHP_FUNCTION(sqlite_unbuffered_query); PHP_FUNCTION(sqlite_array_query); PHP_FUNCTION(sqlite_single_query); diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c index 18666e2906..2f87ed90c0 100644 --- a/ext/sqlite/sqlite.c +++ b/ext/sqlite/sqlite.c @@ -126,6 +126,7 @@ function_entry sqlite_functions[] = { PHP_FE(sqlite_popen, arg3_force_ref) PHP_FE(sqlite_close, NULL) PHP_FE(sqlite_query, NULL) + PHP_FE(sqlite_exec, NULL) PHP_FE(sqlite_array_query, NULL) PHP_FE(sqlite_single_query, NULL) PHP_FE(sqlite_fetch_array, NULL) @@ -1111,6 +1112,37 @@ PHP_FUNCTION(sqlite_query) } /* }}} */ +/* {{{ proto boolean sqlite_exec(string query, resource db) + Executes a result-less query against a given database */ +PHP_FUNCTION(sqlite_exec) +{ + zval *zdb; + struct php_sqlite_db *db; + char *sql; + long sql_len; + char *errtext = NULL; + + if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, + ZEND_NUM_ARGS() TSRMLS_CC, "sr", &sql, &sql_len, &zdb) && + FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &zdb, &sql, &sql_len)) { + return; + } + DB_FROM_ZVAL(db, &zdb); + + PHP_SQLITE_EMPTY_QUERY; + + db->last_err_code = sqlite_exec(db->db, sql, NULL, NULL, &errtext); + + if (db->last_err_code != SQLITE_OK) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", errtext); + sqlite_freemem(errtext); + RETURN_FALSE; + } + + RETURN_TRUE; +} +/* }}} */ + /* {{{ php_sqlite_fetch_array */ static void php_sqlite_fetch_array(struct php_sqlite_result *res, int mode, zend_bool decode_binary, int move_next, zval *return_value TSRMLS_DC) { |