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

PDOStatement::errorInfo

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

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

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

pdostatement.errorinfo.php

PDOStatement::errorInfo

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

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

= NULL

public PDOStatement::errorInfo(): array

Параметри

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

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

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

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

Примери

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

<?php
/* Provoke an error -- the BONES table does not exist */
$sth = $dbh->prepare('SELECT skull FROM bones');
$sth->execute();

echo
"\nPDOStatement::errorInfo():\n";
$arr = $sth->errorInfo();
print_r($arr);
?>

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

PDOStatement::errorInfo():
Array
(
    [0] => 42S02
    [1] => -204
    [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N  "DANIELS.BONES" is an undefined name.  SQLSTATE=42704
)

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

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

Џефри Хофман
пред 10 години
If your query is successful, PDO::errorInfo() still returns an array. For MySQL 5.x, I get the following...

Array
(
    [0] => 00000
    [1] => 
    [2] => 
)
richardverason на gmail точка ком
пред 6 години
Seriously errorInfo  is your friend. Use it.

If these look like your google searches then you need errorInfo

"no database error showing in php"
"pdo selects from database but wont insert"
"pdo insert not working"
"isnt pdo just a big hype, should I go back to mysql?"
"how much do surgeons make?"

Trust me it will definitely save you hours of insanity if you make it  a habit to use it in development. Forget E-ALL, it failed me since well, E-ALL apparently doesn't know that I didn't set a default value in my MySQL table and my query wasnt adding anything to it. So always do this

<?php

    $sql = 'do something on a mysql table where foo = :bar';
    $stmt = prepare($sql);
    $stmt->bindValue(':bar', $foo, PDO::PARAM_[DATA TYPE]);
    $stmt->execute();  
    
    // very important during development. But take it off in production 
    $foo_arr = $stmt->errorInfo(); 
    print_r($foo_arr);

    //Sample print_r return
    /*
    Array(
        [0] => HY000
        [1] => 1364
        [2] => Field 'phone' doesn't have a default value
    )
   Never have I been so happy to see an error
    */
?>

While its common practice for any decent developer to always watch out and try to catch for errors, even the best of us make mistakes. This is not a replacement for exceptions, but the simplicity is priceless.
На оваа страница

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

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

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

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

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