(PHP 5 < 5.4.0, PECL sqlite >= 1.0.3)
sqlite_exec -- SQLiteDatabase::exec — Executes a result-less query against a given database
$dbhandle
, string $query
[, string &$error_msg
] )$query
, resource $dbhandle
)面向对象风格 (method):
$query
[, string &$error_msg
] )
Executes an SQL statement given by the query
against
a given database handle (specified by the dbhandle
parameter).
SQLite will execute multiple queries separated by semicolons, so you can use it to execute a batch of SQL that you have loaded from a file or have embedded in a script.
dbhandle
The SQLite Database resource; returned from sqlite_open() when used procedurally. This parameter is not required when using the object-oriented method.
query
The query to be executed.
Data inside the query should be properly escaped.
error_msg
The specified variable will be filled if an error occurs. This is specially important because SQL syntax errors can't be fetched using the sqlite_last_error() function.
Note: 为兼容其他数据库扩展(比如 MySQL),支持两种可替代的语法。推荐第一种格式,函数的第一个参数是
dbhandle
。
This function will return a boolean result; TRUE
for success or FALSE
for failure.
If you need to run a query that returns rows, see sqlite_query().
由
SQLITE_ASSOC
与 SQLITE_BOTH
返回的列名会依照 sqlite.assoc_case
配置选项的值决定大小写。
版本 | 说明 |
---|---|
5.1.0 |
Added the error_msg parameter
|
Example #1 Procedural example
<?php
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_exec($dbhandle, "UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'", $error);
if (!$query) {
exit("Error in query: '$error'");
} else {
echo 'Number of rows modified: ', sqlite_changes($dbhandle);
}
?>
Example #2 Object-oriented example
<?php
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->queryExec("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'", $error);
if (!$query) {
exit("Error in query: '$error'");
} else {
echo 'Number of rows modified: ', $dbhandle->changes();
}
?>