Latest web development tutorials
×

PHP Kurs

PHP Kurs PHP Kurze Einführung PHP installieren PHP Grammatik PHP Variable PHP echo/print PHP Datentypen PHP Konstante PHP Schnur PHP Die Betreiber PHP If...Else PHP Switch PHP Feld PHP Sortieren eines Array PHP Superglobals PHP While Verkehr PHP For Verkehr PHP Funktion PHP Magische Variablen PHP Namespaces PHP Objektorientiert

PHP Form

PHP Form PHP Formularauthentifizierung PHP Form - Erforderliche Felder PHP Form - Überprüfung E-Mail und URL PHP Komplette Formularinstanz PHP $_GET Variable PHP $_POST Variable

PHP Erweiterte Tutorial

PHP Mehrdimensionale Arrays PHP Datum PHP enthalten PHP Datei PHP Datei-Upload PHP Cookie PHP Session PHP E-mail PHP Sicherheit E-mail PHP Error PHP Exception PHP Filter PHP Erweiterte Filter PHP JSON

PHP 7 Neue Funktionen

PHP 7 Neue Funktionen

PHP Datenbank

PHP MySQL Kurze Einführung PHP MySQL Verbindung PHP MySQL Erstellen einer Datenbank PHP MySQL Erstellen Sie eine Datentabelle PHP MySQL einfügen von Daten PHP MySQL Legen Sie mehrere Daten PHP MySQL Prepared Statements PHP MySQL Lesen Sie Daten 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 Kurze Einführung AJAX PHP AJAX Datenbank AJAX XML AJAX Echtzeitsuche AJAX RSS Reader AJAX Abstimmung

PHP Referenzhandbuch

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 Bildverarbeitung PHP RESTful

PHP PDO Fehler mit der Fehlerbehandlung

PHP PDO-Referenzhandbuch PHP PDO - Referenzhandbuch

  • PDO :: ERRMODE_SILENT

    Dies ist der Standardmodus. PDO wird einfach den Fehlercode gesetzt ist, verwenden Sie das PDO :: errorcode () und PDO :: errorinfo () die Anweisung und Datenbankobjekte zu überprüfen. Wenn der Fehler zurückzuführen ist auf das Objekt der Anweisung Aufruf erzeugt wird, dann können Sie das Objekt PDOStatement nennen :: errorcode () oder PDOStatement :: errorinfo () -Methode. Wenn der Fehler aus einem Aufruf des Datenbank-Objekts hervorging, dann diese Methoden des Datenbank-Objekt aufrufen.

  • PDO :: ERRMODE_WARNING

    Neben den Fehlercode zusätzlich zur Einstellung, PDO wird eine traditionelle E_WARNING-Meldung abgeben. Wenn Sie wollen einfach nur sehen, welche Probleme aufgetreten den Ablauf der Anwendung ohne Unterbrechung, so dass diese Einstellung bei der Fehlersuche / Testphase ist sehr nützlich.

  • PDO :: ERRMODE_EXCEPTION

    Neben den Fehlercode zusätzlich zur Einstellung, PDO wird eine Ausnahme PDOException Klasse werfen und legen Sie die Eigenschaften der Fehlercode und Fehlermeldungen zu reflektieren. Diese Einstellung ist auch nützlich bei der Fehlersuche, weil eine falsche Stelle ist es effektiv das Skript vergrößern wird, die sich sehr schnell heraus Code Potential Problembereich zeigen kann (zur Erinnerung: wenn die Ausnahme das Skript bewirkt, dass die Transaktion zu beenden wird automatisch zurück roll).

    Eine weitere Ausnahme-Modus ist sehr nützlich, im Vergleich zu herkömmlichen PHP-Stil Warnungen, können Sie Ihre eigenen Fehler bauen deutlicher Handhabung und der Rückgabewert der einzelnen Datenbank-Aufruf, abnormale Muster-Code erforderlich im Vergleich zu Silent-Modus und explizit überprüft / nisten weniger.

Erstellen Sie eine PDO-Instanz und setzen Fehlermodus

<?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();
}

?>

Hinweis: Unabhängig davon , ob der aktuelle Satz PDO :: ATTR_ERRMODE, wenn die Verbindung fehlschlägt, PDO :: __ construct () wird immer eine PDOException Ausnahme werfen. Abgefangene Ausnahme ist fatal.

Erstellen Sie eine PDO-Instanz und setzen Fehlermodus im Konstruktor

<?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");
?>

Das oben gezeigte Beispiel Ausgabe:

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

PHP PDO-Referenzhandbuch PHP PDO - Referenzhandbuch