ホームページ  >  記事  >  バックエンド開発  >  デフォルトのモード -PDO::ERRMODE_SILENT を使用します (PDO の SQL ステートメントのエラーをキャプチャする方法 1)

デフォルトのモード -PDO::ERRMODE_SILENT を使用します (PDO の SQL ステートメントのエラーをキャプチャする方法 1)

黄舟
黄舟オリジナル
2017-04-28 17:41:272908ブラウズ

デフォルトのモード -PDO::ERRMODE_SILENT を使用します (PDO で SQL ステートメントのエラーをキャプチャするための方法 1)

PDO で SQL ステートメントのエラーをキャプチャするには、3 つのオプションから選択できます。開発プロジェクトと実際の状況に応じて、SQL ステートメントのエラーをキャプチャするソリューションを提供します。

そして、前回の記事「PDOでSQL文を実行する3つの方法」、前3回の記事「PDOで結果セットを取得する - fetch()メソッド」でPDOでSQL文を実行する3つの方法を紹介しました。詳しい説明》《PDOで結果セットを取得するfetchAll()メソッドを詳しく説明》《PDOで結果セットを取得するfetchColumn()メソッドを詳しく説明》結果セットを取得する3つのメソッドを紹介します今日は、PDO で SQL ステートメントのエラーをキャプチャするいくつかの方法を紹介します~!

今日はデフォルトモードPDO::ERRMODE_SILENTの使い方を紹介します。

PDOStatement オブジェクトの errorCode データをデフォルト モードで設定しますが、他の操作は実行しません。

以下では、例を使用してデフォルト モード PDO::ERRMODE_SILENT の具体的な使用方法を紹介します。具体的な手順は次のとおりです:

まず、php ファイルを作成し、フォームを追加し、このページにフォーム要素を送信して、に接続します。 PDO を介して MySQL データベースにアクセスし、プリペアド ステートメントの prepare() メソッドとexecute() メソッドは INSERT 追加操作を実行し、データ テーブルにデータを追加し、コード内のエラーを検出するために PDOStatement オブジェクトの errorCode 属性を設定します。具体的なコードは次のとおりです:

<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;
';     } } ?>

注:

上記のコードでは、INSERT ステートメントを定義するときに、意図的に間違ったデータ テーブル名 user_12 を使用しました (正しいデータ テーブル名は user)。これはテスト用に書かれたものです。

エラー出力結果は次のとおりです:

デフォルトのモード -PDO::ERRMODE_SILENT を使用します (PDO の SQL ステートメントのエラーをキャプチャする方法 1)

次に、PDO の SQL ステートメントでエラー メソッドをキャプチャするデフォルトのモード PDOERRMODE_SILENT を使用する方法を紹介します。 SQL ステートメントのエラー メソッドについては、「警告モードを使用する - PDO::ERRMODE_WARNING (PDO で SQL ステートメントのエラーをキャプチャする 2 番目の方法)」を参照してください。

以上がデフォルトのモード -PDO::ERRMODE_SILENT を使用します (PDO の SQL ステートメントのエラーをキャプチャする方法 1)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。