Latest web development tutorials
×

PHP kurs

PHP kurs PHP krótkie wprowadzenie PHP zainstalować PHP gramatyka PHP zmienna PHP echo/print PHP Typy danych PHP stały PHP sznur PHP operatorzy PHP If...Else PHP Switch PHP szyk PHP Sortowanie tablicy PHP superglobalne PHP While krążenie PHP For krążenie PHP funkcja PHP Magiczne Zmienne PHP Przestrzenie nazw PHP Obiektowe

PHP forma

PHP forma PHP Uwierzytelnianie za pomocą formularzy PHP forma - wymagane pola PHP forma - Weryfikacja e-mail i adres URL PHP Kompletna wystąpienie formularza PHP $_GET zmienna PHP $_POST zmienna

PHP zaawansowane Tutorial

PHP Tablice wielowymiarowe PHP data PHP zawierać PHP plik PHP Prześlij plik PHP Cookie PHP Session PHP E-mail PHP bezpieczeństwo E-mail PHP Error PHP Exception PHP filtr PHP Filtr zaawansowany PHP JSON

PHP 7 Nowe funkcje

PHP 7 Nowe funkcje

PHP baza danych

PHP MySQL krótkie wprowadzenie PHP MySQL połączenie PHP MySQL Tworzenie bazy danych PHP MySQL Tworzenie tabeli danych PHP MySQL Należy wprowadzić dane PHP MySQL Wstawić wiele danych PHP MySQL Przygotowane sprawozdania PHP MySQL odczytać dane PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX krótkie wprowadzenie AJAX PHP AJAX baza danych AJAX XML AJAX Wyszukiwanie w czasie rzeczywistym AJAX RSS Reader AJAX głosowanie

PHP Reference Manual

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Przetwarzanie obrazu PHP RESTful

Błąd PHP PDO z obsługi błędów

Podręcznik PHP PDO referencyjny Podręcznik PHP PDO referencyjny

  • PDO :: ERRMODE_SILENT

    Jest to tryb domyślny. PDO będzie po prostu ustawić kod błędu, należy użyć metody PDO :: ErrorInfo () PDO :: ERRORCODE () i sprawdzić oświadczenia i obiektów bazy danych. Jeśli błąd jest spowodowany przedmiotem instrukcji wywołania jest generowany, to można nazwać, że PDOStatement obiektu :: ERRORCODE () lub metodę PDOStatement :: ErrorInfo (). Jeśli błąd jest wynikiem połączenia w obiekcie bazy danych, a następnie powoływać się na te metody na obiekcie bazy danych.

  • PDO :: ERRMODE_WARNING

    Oprócz ustawienia dodanie kodu błędu, PDO wyemituje tradycyjną wiadomość E_WARNING. Jeśli tylko chcesz zobaczyć jakie problemy wystąpiły bez przerywania przepływu aplikacji, więc to ustawienie w czasie debugowania / testowania jest bardzo przydatna.

  • PDO :: ERRMODE_EXCEPTION

    Oprócz ustawienia dodanie kodu błędu, PDO wygeneruje klasę PDOException wyjątku i ustawić jego właściwości, aby odzwierciedlić wiadomości Kod błędu i błędów. To ustawienie jest również przydatna podczas debugowania, ponieważ niewłaściwy punkt będzie skutecznie powiększyć skrypt, który można bardzo szybko wskazać potencjalne numer kierunkowy problemem (pamiętaj: jeśli Wyjątek wywołuje skrypt do zakończenia transakcji jest automatycznie z powrotem rolki).

    Innym sposobem Wyjątkiem jest bardzo przydatna, w porównaniu do tradycyjnych ostrzeżeń PHP stylu, można zbudować swój własny błąd jaśniej postępowania, a wartość zwrotu każdego połączenia z bazą danych, nieprawidłowego kodu wzór wymagane w porównaniu do trybu cichego i jawnie sprawdzanie / gniazdowania mniej.

Tworzenie instancji PDO i ustawić tryb błędu

<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Uwaga: Niezależnie od tego, czy obecny zestaw PDO :: ATTR_ERRMODE, jeżeli połączenie nie powiedzie się, PDO :: __ construct () będzie zawsze rzucić wyjątek PDOException. Uncaught Wyjątkiem jest śmiertelne.

Tworzenie instancji PDO i ustawić tryb błędu w konstruktorze

<?php
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'googleguy';
$password = 'googleguy';

/*
    使用 try/catch 围绕构造函数仍然有效,即使设置了 ERRMODE 为 WARNING,
    因为如果连接失败,PDO::__construct 将总是抛出一个  PDOException 异常。
*/
try {
    $dbh = new PDO($dsn, $user, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
    exit;
}

// 这里将导致 PDO 抛出一个 E_WARNING 级别的错误,而不是 一个异常 (当数据表不存在时)
$dbh->query("SELECT wrongcolumn FROM wrongtable");
?>

Powyższy wyjście przykładzie:

Warning: PDO::query(): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.wrongtable' doesn't exist in
/tmp/pdo_test.php on line 18
add a note add a note

Podręcznik PHP PDO referencyjny Podręcznik PHP PDO referencyjny