Skip to content

Commit 49a1413

Browse files
committed
add sqlite_exec - now to the right tag
1 parent 395478d commit 49a1413

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

ext/sqlite/php_sqlite.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ PHP_FUNCTION(sqlite_open);
4646
PHP_FUNCTION(sqlite_popen);
4747
PHP_FUNCTION(sqlite_close);
4848
PHP_FUNCTION(sqlite_query);
49+
PHP_FUNCTION(sqlite_exec);
4950
PHP_FUNCTION(sqlite_unbuffered_query);
5051
PHP_FUNCTION(sqlite_array_query);
5152
PHP_FUNCTION(sqlite_single_query);

ext/sqlite/sqlite.c

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ function_entry sqlite_functions[] = {
126126
PHP_FE(sqlite_popen, arg3_force_ref)
127127
PHP_FE(sqlite_close, NULL)
128128
PHP_FE(sqlite_query, NULL)
129+
PHP_FE(sqlite_exec, NULL)
129130
PHP_FE(sqlite_array_query, NULL)
130131
PHP_FE(sqlite_single_query, NULL)
131132
PHP_FE(sqlite_fetch_array, NULL)
@@ -1111,6 +1112,37 @@ PHP_FUNCTION(sqlite_query)
11111112
}
11121113
/* }}} */
11131114

1115+
/* {{{ proto boolean sqlite_exec(string query, resource db)
1116+
Executes a result-less query against a given database */
1117+
PHP_FUNCTION(sqlite_exec)
1118+
{
1119+
zval *zdb;
1120+
struct php_sqlite_db *db;
1121+
char *sql;
1122+
long sql_len;
1123+
char *errtext = NULL;
1124+
1125+
if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
1126+
ZEND_NUM_ARGS() TSRMLS_CC, "sr", &sql, &sql_len, &zdb) &&
1127+
FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &zdb, &sql, &sql_len)) {
1128+
return;
1129+
}
1130+
DB_FROM_ZVAL(db, &zdb);
1131+
1132+
PHP_SQLITE_EMPTY_QUERY;
1133+
1134+
db->last_err_code = sqlite_exec(db->db, sql, NULL, NULL, &errtext);
1135+
1136+
if (db->last_err_code != SQLITE_OK) {
1137+
php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", errtext);
1138+
sqlite_freemem(errtext);
1139+
RETURN_FALSE;
1140+
}
1141+
1142+
RETURN_TRUE;
1143+
}
1144+
/* }}} */
1145+
11141146
/* {{{ php_sqlite_fetch_array */
11151147
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)
11161148
{

0 commit comments

Comments
 (0)