Utiliser le mode d'avertissement -PDO::ERRMODE_WARNING (méthode 2 de capture des erreurs dans les instructions SQL dans PDO)
Le mode d'avertissement générera un avertissement PHP, et Définissez l'attribut errorCode. Si le mode d'avertissement est défini, le programme continuera à s'exécuter comme il le fait à moins que le code d'erreur ne soit explicitement vérifié.
Ensuite, dans notre article précédent "Utiliser le mode par défaut-PDO::ERRMODE_SILENT (Méthode 1 pour capturer les erreurs dans les instructions SQL dans PDO)", nous avons présenté la première méthode PDO pour capturer les erreurs dans les instructions SQL, alors dans cet article nous présenterons la deuxième méthode : en utilisant le mode d'avertissement-PDO::ERRMODE_WARNING~!
Définissez le mode d'avertissement, lisez les données dans la base de données via les méthodes préparer() et exécuter(), et complétez la sortie en boucle des données via l'instruction while et la méthode fetch(). exécuté après le passage en mode d'avertissement. Mauvaise instruction SQL.
Ci-dessous, j'utiliserai des exemples pour présenter davantage l'utilisation du mode d'avertissement-PDO::ERRMODE_WARNING. Tout d'abord, je présenterai l'idée d'implémentation.
Créez d'abord un fichier php, connectez-vous à la base de données MySQL, exécutez l'opération de requête SELECT via les méthodes préparer() et exécuter() de l'instruction préparée, et définissez un nom de table de données incorrect, et en même temps temps, réglez-le en mode Avertissement, terminez enfin la sortie en boucle des données via l'instruction while et la méthode fetch() Le code spécifique est le suivant :
<?php header("Content-Type:text/html; charset=utf-8"); //设置页面的编码格式 $dbms = "mysql"; // 数据库的类型 $dbName ="php_cn"; //使用的数据库名称 $user = "root"; //使用的数据库用户名 $pwd = "root"; //使用的数据库密码 $host = "localhost"; //使用的主机名称 $dsn = "$dbms:host=$host;dbname=$dbName"; try{ $pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING); //设置为警告模式 $query="select * from user_12";//需要执行的sql语句 $res=$pdo->prepare($query);//准备查询语句 $res->execute(); //执行查询语句,并返回结果集 ?> <table border="1" width="500"> <tr> <td height="22" align="center" valign="middle">id</td> <td height="22" align="center" valign="middle">用户名</td> <td height="22" align="center" valign="middle">密码</td> </tr> <?php while($result=$res->fetch(PDO::FETCH_ASSOC)){ // 循环输出查询结果集,并且设置结果集为关联数据形式。 ?> <tr> <td height="22" align="center" valign="middle"><?php echo $result["id"];?></td> <td height="22" align="center" valign="middle"><?php echo $result["username"];?></td> <td height="22" align="center" valign="middle"><?php echo $result["password"];?></td> </tr> <?php } }catch(Exception $e){ die("Error!:".$e->getMessage().'<br>'); } ?> </table>
Remarque : <.>
Dans le code ci-dessus, lors de la définition de l'instruction de requête SELECT, 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 This). est écrit pour tester !
Après le passage en mode d'avertissement, si une erreur se produit dans l'instruction SQL, un message d'invite sera émis, mais le programme peut toujours continuer à s'exécuter. Le résultat de l'exemple ci-dessus est. comme suit : C'est tout à propos du mode d'avertissement. Vous pouvez l'essayer localement. Ensuite, notre prochain article vous présentera la dernière instruction SQL capturée dans PDO pour les méthodes d'erreur. , veuillez lire "Utilisation du mode d'exception-PDO::ERRMODE_EXCEPTION (Capture des méthodes d'erreur dans les instructions SQL dans PDO trois) " pour plus de détails !
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!