(PHP 7 >= 7.4.0, PHP 8)
SQLite3::enableExtendedResultCodes — 拡張結果コードの使用を有効または無効にする
拡張結果コードの使用を有効または無効にします。 有効にすると、SQLite3::lastErrorCode() が拡張結果コードを返すようになります。 SQLite3::lastExtendedErrorCode() はこの設定の影響を受けず、常に拡張結果コードを返します。
例1 SQLite3::enableExtendedResultCodes() の例
<?php
$db = new SQLite3(':memory:');
$db->enableExceptions(true);
$db->exec('CREATE TABLE t (a INTEGER UNIQUE)');
$db->exec('INSERT INTO t VALUES (1)');
try {
$db->exec('INSERT INTO t VALUES (1)');
} catch (Exception $e) {
}
// 主要な結果コード (SQLITE_CONSTRAINT)、続いて拡張結果コード
// (SQLITE_CONSTRAINT_UNIQUE)。
var_dump($db->lastErrorCode(), $db->lastExtendedErrorCode());
// 有効にすると、SQLite3::lastErrorCode() も
// 拡張結果コードを返すようになります。
$db->enableExtendedResultCodes();
var_dump($db->lastErrorCode());
?>上の例の出力は以下となります。
int(19) int(2067) int(2067)