Maison  >  Article  >  développement back-end  >  Utilisez le mode par défaut -PDO::ERRMODE_SILENT (Méthode 1 pour capturer les erreurs dans les instructions SQL dans PDO)

Utilisez le mode par défaut -PDO::ERRMODE_SILENT (Méthode 1 pour capturer les erreurs dans les instructions SQL dans PDO)

黄舟
黄舟original
2017-04-28 17:41:272927parcourir

Utilisez le mode par défaut -PDO::ERRMODE_SILENT (Méthode 1 pour capturer les erreurs dans les instructions SQL dans PDO)

Il existe trois façons de capturer une instruction SQL erreurs dans PDO Vous pouvez choisir une solution. Choisissez une solution adaptée en fonction de votre projet de développement et de votre situation réelle pour capturer les erreurs d'instruction SQL !

Ensuite, nous avons présenté les trois méthodes d'exécution d'instructions SQL dans PDO dans l'article précédent "Trois façons d'exécuter des instructions SQL dans PDO", et dans les trois articles précédents "Détaillé explication de la méthode fetch() pour obtenir le jeu de résultats dans PDO》《Explication détaillée de la méthode fetchAll() pour obtenir le jeu de résultats dans PDO》《La méthode fetchColumn() pour obtenir l'ensemble de résultats dans PDO "Explication détaillée " a introduit trois méthodes pour obtenir des ensembles de résultats dans PDO, nous allons donc vous présenter aujourd'hui plusieurs méthodes de capture des erreurs dans les instructions SQL dans PDO~ !

Aujourd'hui, je vais vous présenter comment utiliser le mode par défaut-PDO::ERRMODE_SILENT.

Définissez les données errorCode de l'objet PDOStatement en mode par défaut, mais n'effectuez aucune autre opération.

Ci-dessous, nous utilisons des exemples pour présenter l'utilisation spécifique du mode par défaut-PDO::ERRMODE_SILENT. Les étapes spécifiques sont les suivantes :

Créez d'abord un fichier php, ajoutez un formulaire et soumettez-le. les éléments du formulaire à cette page. , connectez-vous à la base de données MySQL via PDO, effectuez l'opération d'ajout INSERT via les méthodes préparer() et exécuter() de l'instruction préparée, ajoutez des données à la table de données et définissez l'attribut errorCode du Objet PDOStatement pour détecter les erreurs dans le code. Le code spécifique est le suivant :

<form action="1.php" name="form1" method="post">
    用户名:<input type="text" name="username">
    密码:  <input type="password" name="password">
           <input type="submit" name="Submit" value="提交">
</form>
<?php
header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式
if($_POST[&#39;username&#39;]&&$_POST[&#39;password&#39;]!=""){
$name = $_POST[&#39;username&#39;];
$password = $_POST[&#39;password&#39;];
$dbms = "mysql";                                  // 数据库的类型
$dbName ="php_cn";                                //使用的数据库名称
$user = "root";                                   //使用的数据库用户名
$pwd = "root";                                    //使用的数据库密码
$host = "localhost";                              //使用的主机名称
$dsn  = "$dbms:host=$host;dbname=$dbName";
    $pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
    $query="insert into `user_12`(username,password) VALUES (&#39;$name&#39;,&#39;$password&#39;)";//需要执行的sql语句
    $res=$pdo->prepare($query);//准备查询语句
    $res->execute();            //执行查询语句,并返回结果集
    $code =$res->errorCode();
    if(empty($code)){
        echo "数据添加成功";
    }else{
        echo "数据错误:<br>";
        echo &#39;SQL Query:&#39;.$query;
        echo &#39;<pre class="brush:php;toolbar:false">&#39;;
        var_dump($res->errorInfo());
        echo &#39;
';     } } ?>

Remarque :

Dans le code ci-dessus, lors de la définition de l'instruction INSERT, nous avons délibérément utilisé le mauvais nom de table de données user_12 (le nom correct de la table de données est : user), ceci est écrit à des fins de test !

entraîne la sortie d'erreur suivante :

Utilisez le mode par défaut -PDO::ERRMODE_SILENT (Méthode 1 pour capturer les erreurs dans les instructions SQL dans PDO)

Ensuite, la méthode d'utilisation du mode par défaut - PDOERRMODE_SILENT pour capturer les erreurs dans les instructions SQL dans PDO est introduit. Ça y est, vous pouvez l'essayer. Dans le prochain article, nous continuerons à vous présenter la méthode de capture des erreurs dans les instructions SQL dans PDO. Pour plus de détails, veuillez lire "

Utiliser le mode d'avertissement. -PDO::ERRMODE_WARNING (Comment capturer les erreurs dans les instructions SQL dans PDO 2)》 !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn