@@ -126,6 +126,7 @@ function_entry sqlite_functions[] = {
126
126
PHP_FE (sqlite_popen , arg3_force_ref )
127
127
PHP_FE (sqlite_close , NULL )
128
128
PHP_FE (sqlite_query , NULL )
129
+ PHP_FE (sqlite_exec , NULL )
129
130
PHP_FE (sqlite_array_query , NULL )
130
131
PHP_FE (sqlite_single_query , NULL )
131
132
PHP_FE (sqlite_fetch_array , NULL )
@@ -1111,6 +1112,37 @@ PHP_FUNCTION(sqlite_query)
1111
1112
}
1112
1113
/* }}} */
1113
1114
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
+
1114
1146
/* {{{ php_sqlite_fetch_array */
1115
1147
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 )
1116
1148
{
0 commit comments