(PHP 7 >= 7.4.0, PHP 8)
SQLite3::enableExtendedResultCodes — Active ou désactive l'utilisation des codes de résultat étendus
Active ou désactive l'utilisation des codes de résultat étendus, qui sont ensuite rapportés par SQLite3::lastErrorCode(). SQLite3::lastExtendedErrorCode() n'est pas affecté par ce réglage et retourne toujours le code de résultat étendu.
Exemple #1 Exemple avec 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) {
}
// Le code de résultat primaire (SQLITE_CONSTRAINT), puis le code de résultat
// étendu (SQLITE_CONSTRAINT_UNIQUE).
var_dump($db->lastErrorCode(), $db->lastExtendedErrorCode());
// Une fois activé, SQLite3::lastErrorCode() rapporte également le code de
// résultat étendu.
$db->enableExtendedResultCodes();
var_dump($db->lastErrorCode());
?>L'exemple ci-dessus va afficher :
int(19) int(2067) int(2067)