Latest web development tutorials
×

PHP cours

PHP cours PHP Brève introduction PHP installer PHP grammaire PHP variable PHP echo/print PHP Types de données PHP constante PHP chaîne PHP opérateurs PHP If...Else PHP Switch PHP tableau PHP Tri d'un tableau PHP Superglobales PHP While circulation PHP For circulation PHP fonction PHP Variables magiques PHP Namespaces PHP Object-Oriented

PHP forme

PHP forme PHP Authentification Forms PHP forme - Les champs obligatoires PHP forme - email de vérification et d'URL PHP Complète instance de formulaire PHP $_GET variable PHP $_POST variable

PHP Tutorial avancée

PHP Les tableaux multidimensionnels PHP date PHP contenir PHP fichier PHP File Upload PHP Cookie PHP Session PHP E-mail PHP sécurité E-mail PHP Error PHP Exception PHP filtre PHP filtre avancé PHP JSON

PHP 7 Nouvelles fonctionnalités

PHP 7 Nouvelles fonctionnalités

PHP Base de données

PHP MySQL Brève introduction PHP MySQL raccordement PHP MySQL La création d'une base de données PHP MySQL Créer une table de données PHP MySQL Insérer des données PHP MySQL Insérez des données multiples PHP MySQL Déclarations préparées PHP MySQL Lire les données 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 Brève introduction AJAX PHP AJAX Base de données AJAX XML AJAX Recherche en temps réel AJAX RSS Reader AJAX vote

PHP Manuel de référence

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 Traitement de l'image PHP RESTful

erreur PHP PDO avec la gestion des erreurs

Manuel PHP PDO Référence Manuel PHP PDO Référence

  • PDO :: ERRMODE_SILENT

    Ceci est le mode par défaut. PDO définit simplement le code d'erreur, utilisez le PDO :: errorCode () et la méthode PDO :: errorInfo () pour vérifier les objets des états et base de données. Si l'erreur est due à l'objet de la déclaration d'appel est généré, vous pouvez appeler cet objet PDOStatement :: errorCode () ou la méthode PDOStatement :: errorInfo (). Si l'erreur résulte d'un appel sur l'objet de base de données, puis invoquer ces méthodes sur l'objet de base de données.

  • PDO :: ERRMODE_WARNING

    En plus de définir l'ajout de code d'erreur, PDO émettra un message E_WARNING traditionnel. Si vous voulez juste pour voir quels problèmes a eu lieu sans interrompre le flux de l'application, de sorte que ce paramètre dans la période de débogage / de test est très utile.

  • PDO :: ERRMODE_EXCEPTION

    En plus de définir l'ajout de code d'erreur, PDO lancera une classe PDOException d'exception et définir ses propriétés pour refléter les messages de code d'erreur et d'erreur. Ce paramètre est également utile pendant le débogage, car un mauvais point, il sera effectivement agrandir le script, qui peut très rapidement souligner le potentiel indicatif régional problème (rappelez-vous: si l'exception provoque le script de mettre fin à la transaction est automatiquement rouleau).

    Un autre mode d'exception est très utile, par rapport aux avertissements traditionnels PHP-style, vous pouvez construire votre propre erreur de manipulation plus clairement, et la valeur de retour de l'appel de chaque base de données, le code de configuration anormale requis par rapport au mode silencieux et de vérifier explicitement / nichant moins.

Créer une instance PDO et régler le mode d'erreur

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

?>

Remarque: Indépendamment du fait que le jeu actuel PDO :: ATTR_ERRMODE, si la connexion échoue, PDO :: __ construct () sera toujours une exception de PDOException. Uncaught exception est fatale.

Créer une instance PDO et régler le mode d'erreur dans le constructeur

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

La sortie par exemple de volonté ci-dessus:

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

Manuel PHP PDO Référence Manuel PHP PDO Référence