PHP.mk документација

PDO::errorInfo

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

pdo.errorinfo.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека pdo.errorinfo.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
PDO::errorInfo

Референца за `pdo.errorinfo.php` со подобрена типографија и навигација.

pdo.errorinfo.php

PDO::errorInfo

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::errorInfo Преземи проширени информации за грешка поврзани со последната операција на рачката на базата на податоци

= NULL

public PDO::errorInfo(): array

Параметри

Оваа функција нема параметри.

Вратени вредности

Пример #1 Преземање на SQLSTATE код враќа низа од информации за грешка за последната операција извршена од оваа рачка на базата на податоци. Низата се состои од најмалку следниве полиња:

Елемент Информации
0 SQLSTATE код за грешка (петкарактерна алфанумеричка идентификација дефинирана во стандардот ANSI SQL).
1 Код за грешка специфичен за драјверот.
2 Порака за грешка специфична за драјверот.

Забелешка:

Ако SQLSTATE кодот за грешка не е поставен или нема драјвер-специфична грешка, елементите по елементот 0 ќе бидат поставени на null.

Пример #1 Преземање на SQLSTATE код само ги добива информациите за грешка за операциите извршени директно на рачката на базата на податоци. Ако креирате PDOStatement објект преку препорачано да користите or Испрати MySQL барање само ги добива кодовите за грешки за операциите извршени директно на рачката на базата на податоци. Ако креирате PDOStatement објект преку Пример #1 Преземање на SQLSTATE код нема да ја одрази грешката од рачката на изјавата. Мора да повикате - Преземи го SQLSTATE поврзан со последната операција на рачката на изјавата за враќање на информациите за грешка за операција извршена на одредена рачка на изјавата.

Примери

Пример #1 Прикажување на полињата errorInfo() за PDO_ODBC конекција до DB2 база на податоци

<?php
/* Provoke an error -- bogus SQL syntax */
$stmt = $dbh->prepare('bogus sql');
if (!
$stmt) {
echo
"\nPDO::errorInfo():\n";
print_r($dbh->errorInfo());
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

PDO::errorInfo():
Array
(
    [0] => HY000
    [1] => 1
    [2] => near "bogus": syntax error
)

Види Исто така

Белешки од корисници 3 белешки

alagar86 at gmail dot com
пред 15 години
Please note : that this example won't work if PDO::ATTR_EMULATE_PREPARES is true. 

You should set it to false

<?php
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
$stmt = $dbh->prepare('bogus sql');
if (!$stmt) {
    echo "\nPDO::errorInfo():\n";
    print_r($dbh->errorInfo());
}
?>
quickshiftin at gmail dot com
пред 18 години
here are the error codes for sqlite, straight from their site:

The error codes for SQLite version 3 are unchanged from version 2. They are as follows: 
#define SQLITE_OK           0   /* Successful result */
#define SQLITE_ERROR        1   /* SQL error or missing database */
#define SQLITE_INTERNAL     2   /* An internal logic error in SQLite */
#define SQLITE_PERM         3   /* Access permission denied */
#define SQLITE_ABORT        4   /* Callback routine requested an abort */
#define SQLITE_BUSY         5   /* The database file is locked */
#define SQLITE_LOCKED       6   /* A table in the database is locked */
#define SQLITE_NOMEM        7   /* A malloc() failed */
#define SQLITE_READONLY     8   /* Attempt to write a readonly database */
#define SQLITE_INTERRUPT    9   /* Operation terminated by sqlite_interrupt() */
#define SQLITE_IOERR       10   /* Some kind of disk I/O error occurred */
#define SQLITE_CORRUPT     11   /* The database disk image is malformed */
#define SQLITE_NOTFOUND    12   /* (Internal Only) Table or record not found */
#define SQLITE_FULL        13   /* Insertion failed because database is full */
#define SQLITE_CANTOPEN    14   /* Unable to open the database file */
#define SQLITE_PROTOCOL    15   /* Database lock protocol error */
#define SQLITE_EMPTY       16   /* (Internal Only) Database table is empty */
#define SQLITE_SCHEMA      17   /* The database schema changed */
#define SQLITE_TOOBIG      18   /* Too much data for one row of a table */
#define SQLITE_CONSTRAINT  19   /* Abort due to contraint violation */
#define SQLITE_MISMATCH    20   /* Data type mismatch */
#define SQLITE_MISUSE      21   /* Library used incorrectly */
#define SQLITE_NOLFS       22   /* Uses OS features not supported on host */
#define SQLITE_AUTH        23   /* Authorization denied */
#define SQLITE_ROW         100  /* sqlite_step() has another row ready */
#define SQLITE_DONE        101  /* sqlite_step() has finished executing */
mazen at mindcraftinc dot com
пред 17 години
Some PDO drivers return a larger array. For example, the SQL Server driver returns 5 values.

For example:
<?php
$numRows = $db->exec("DELETE FROM [TableName] WHERE ID between 6 and 17");
print_r($db->errorInfo());
?>

Result:

Array
(
    [0] => 00000
    [1] => 0
    [2] => (null) [0] (severity 0) []
    [3] => 0
    [4] => 0
)
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.