Hi,
List containing all SQL-92 SQLSTATE Return Codes:
http://www.unix.org.ua/orelly/java-ent/jenut/ch08_06.htm
Use the following Code to let PDO throw Exceptions (PDOException) on Error.
<?PHP
$pdo = new PDO (whatever);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$pdo->exec ("QUERY WITH SYNTAX ERROR");
} catch (PDOException $e) {
if ($e->getCode() == '2A000')
echo "Syntax Error: ".$e->getMessage();
}
?>
Bye,
MatthiasPDO::errorCode
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
PDO::errorCode
Референца за `pdo.errorcode.php` со подобрена типографија и навигација.
PDO::errorCode
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::errorCode — Преземи го SQLSTATE поврзан со последната операција на рачката на базата на податоци
Параметри
Оваа функција нема параметри.
Вратени вредности
Returns an SQLSTATE, a five-character alphanumeric identifier defined in the ANSI SQL-92 standard. Briefly, an SQLSTATE consists of a two-character class value followed by a three-character subclass value. A class value of 01 indicates a warning and is accompanied by a return code of SQL_SUCCESS_WITH_INFO. Class values other than '01', except for the class 'IM', indicate an error. The class 'IM' is specific to warnings and errors that derive from the implementation of PDO (or perhaps ODBC, if you're using the ODBC driver) itself. The subclass value '000' in any class indicates that there is no subclass for that SQLSTATE.
Враќа нумеричка вредност на пораката за грешка од претходната MySQL операција Враќа SQLSTATE, пет-карактерен алфанумерички идентификатор дефиниран во стандардот ANSI SQL-92. Накратко, SQLSTATE се состои од дво-карактерна вредност на класата проследена со три-карактерна вредност на подкласата. Вредност на класата 01 укажува на предупредување и е придружена со код за враќање SQL_SUCCESS_WITH_INFO. Вредностите на класата различни од '01', освен класата 'IM', укажуваат на грешка. Класата 'IM' е специфична за предупредувања и грешки што произлегуваат од имплементацијата на PDO (или можеби ODBC, ако користите ODBC драјвер) сама по себе. Вредноста на подкласата '000' во која било класа укажува дека нема подкласа за тој SQLSTATE. препорачано да користите or Испрати MySQL барање само ги добива кодовите за грешки за операциите извршени директно на рачката на базата на податоци. Ако креирате PDOStatement објект преку Враќа нумеричка вредност на пораката за грешка од претходната MySQL операција и повикате грешка на рачката на изјавата, нема да ја одрази таа грешка. Мора да повикате PDOStatement::errorCode()
Патеката до PHP скриптата што треба да се провери. null за да го вратите кодот за грешка за операција извршена на одредена рачка на изјавата.
Примери
ако не е извршена никаква операција на рачката на базата на податоци.
<?php
/* Provoke an error -- the BONES table does not exist */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");
echo "\nPDO::errorCode(): ", $dbh->errorCode();
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
PDO::errorCode(): 42S02
Види Исто така
- Пример #1 Преземање на SQLSTATE код PDO::errorInfo()
- нема да ја одрази таа грешка. Мора да повикате - Преземи ги проширените информации за грешки поврзани со последната операција на рачката на базата на податоци
- - Преземи го SQLSTATE поврзан со последната операција на рачката на изјавата PDOStatement::errorInfo()