sqlite_exec

SQLiteDatabase::exec

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.3)

sqlite_exec -- SQLiteDatabase::exec 与えられたデータベースに対して結果を伴わないクエリを実行する

説明

public sqlite_exec ( resource $dbhandle , string $query [, string &$error_msg ] ) : bool
sqlite_exec ( string $query , resource $dbhandle ) : bool

オブジェクト指向型 (メソッド):

SQLiteDatabase::queryExec ( string $query [, string &$error_msg ] ) : bool

与えられたデータベースハンドル (dbhandle パラメータで指定される) に対して query によって指定される SQL ステートメントを実行します。

警告

SQLiteは、セミコロンで区切られた複数のクエリを実行します。 これにより、ファイルからロードするかスクリプトに埋め込んだ SQL をバッチ実行することができます。

パラメータ

dbhandle

SQLite データベースリソース。手続きに従って、 sqlite_open() から返されます。 このパラメータは、 オブジェクト指向言語型メソッドを使用する場合は不要です。

query

実行するクエリを指定します。

クエリ内のデータは 適切にエスケープ する必要があります。

error_msg

エラーが発生した場合、指定された変数に詰め込まれます。 SQL 文法エラーは sqlite_last_error() 関数では取得できないので、これは特に重要です。

注意: (MySQL のような)他のデータベースエクステンションとの互換性のため、 2 種類の構文がサポートされています。 推奨されるのは最初の構文で、dbhandle パラメータを 関数の最初のパラメータとするものです。

返り値

この関数はブール型の結果を返します。 成功時は TRUE、失敗時は FALSE を返します。 もしレコードを返すクエリを実行する必要がある場合は sqlite_query() を参照ください。

SQLITE_ASSOC および SQLITE_BOTH で 返されるカラム名は、設定オプション sqlite.assoc_case の値に基づき、 大文字小文字が変換されます。

変更履歴

バージョン 説明
5.1.0 error_msg パラメータが追加されました。

例1 手続き型言語スタイルでの例

<?php
$dbhandle 
sqlite_open('mysqlitedb');
$query sqlite_exec($dbhandle"UPDATE users SET email='[email protected]' WHERE username='jDoe'"$error);
if (!
$query) {
    exit(
"Error in query: '$error'");
} else {
    echo 
'Number of rows modified: 'sqlite_changes($dbhandle);
}
?>

例2 オブジェクト指向言語型スタイルでの例

<?php
$dbhandle 
= new SQLiteDatabase('mysqlitedb');
$query $dbhandle->queryExec("UPDATE users SET email='[email protected]' WHERE username='jDoe'"$error);
if (!
$query) {
    exit(
"Error in query: '$error'");
} else {
    echo 
'Number of rows modified: '$dbhandle->changes();
}
?>

参考

  • sqlite_query() - 指定したデータベースに対してクエリを実行し、結果ハンドル を返す
  • sqlite_unbuffered_query() - 事前取得していないクエリを実行し、全てのデータをバッファリングする
  • sqlite_array_query() - 指定したデータベースに対してクエリを実行し、配列を返す