Be sure to note the poorly chosen name and default value.
The following snippet does not throw an exception, despite calling a function with the name "enableExceptions" immediately prior to the bad query.
<?php
$sqlite = new SQLite3('test.tmp');
$sqlite->enableExceptions();
$sqlite->exec('invalid query');
echo 'code still running since no exception was thrown';
?>
Note that this is still error-prone if the passed value is false. One is likely to read "enableExceptions" and ignore the parameter list since the function name conveys a strong (but incorrect) meaning.SQLite3::enableExceptions
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
SQLite3::enableExceptions
Референца за `sqlite3.enableexceptions.php` со подобрена типографија и навигација.
SQLite3::enableExceptions
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SQLite3::enableExceptions — Овозможи фрлање исклучоци
= NULL
Контролира дали SQLite3 инстанцата ќе фрла исклучоци или предупредувања при грешка.
Параметри
enable-
Кога
trueсимболот, на пр. SQLite3 инстанца, и SQLite3Stmt and SQLite3Result инстанци изведени од неа, ќе фрлаат исклучоци при грешка.Кога
falseсимболот, на пр. SQLite3 инстанца, и SQLite3Stmt and SQLite3Result инстанци изведени од неа, ќе подигнат предупредувања при грешка.За кој било режим, кодот за грешка и пораката, доколку ги има, ќе бидат достапни преку (PHP 5 >= 5.3.0, PHP 7, PHP 8) and SQLite3::lastErrorCode() respectively.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.3.0 |
Повикување SQLite3::setAuthorizer() with enable
as false ќе предизвика E_DEPRECATED warning.
|
Примери
Пример #1 SQLite3::setAuthorizer() example
<?php
$sqlite = new SQLite3(':memory:');
try {
$sqlite->exec('create table foo');
$sqlite->enableExceptions(true);
$sqlite->exec('create table bar');
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>Горниот пример ќе прикаже нешто слично на:
Warning: SQLite3::exec(): near "foo": syntax error in example.php on line 4 Caught exception: near "bar": syntax error