ホームページ  >  記事  >  バックエンド開発  >  PDO で SQL ステートメントを実行する 3 つの方法

PDO で SQL ステートメントを実行する 3 つの方法

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

PDO で SQL ステートメントを実行する 3 つの方法

PDO では、SQL ステートメントを実行する 3 つの方法、つまり、exec() メソッド、query メソッド、準備済みステートメントの prepare() およびexecute() を使用できます。方法~

前回の記事『PDOコンストラクターを使ってデータベースとDSNを接続する方法を詳しく解説』では、コンストラクターを使ってデータベースとDSNを接続する方法を詳しく解説しましたので、今回の記事ではその方法を紹介します。 PDO コンストラクターを使用してデータベースと DSN を接続するには で SQL ステートメントを実行するには 3 つの方法があります。以下で 1 つずつ紹介します。

最初のメソッド: exec() メソッド

exec() メソッドは、SQL ステートメントの実行後に影響を受ける行数を返します。その構文形式は次のとおりです。

int PDO::exec(string statement)

パラメーターのステートメントは SQL ステートメントです。このメソッドは、通常 INSERT、DELETE、および UPDATE ステートメントで使用される SQL ステートメントの実行時に影響を受ける行数を返します。具体的なコードで説明しましょう。 コードは次のとおりです。

<?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);             //实例化对象
    $query="insert into user(username,password) values(&#39;php&#39;,&#39;523&#39;)";//需要执行的sql语句
    $res=$pdo->exec($query);//执行添加语句并返回受影响行数
    echo "数据添加成功,受影响行数为: ".$res;
}catch(Exception $e){
    die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
?>

出力結果は次のとおりです。

PDO で SQL ステートメントを実行する 3 つの方法

2 番目のメソッド: query() メソッド

メソッドは結果セットを返すために使用されます。 query を実行した後のこの関数の構文形式は次のとおりです:

PDOStatement PDO::query(string statement)

パラメーターの satatement は実行される SQL ステートメントであり、PODStatement オブジェクトを返します。詳細については、以下のサンプル コードを参照してください:

<?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);
    $query="select * from user";
    $res=$pdo->query($query);
    print_r($res);
}catch(Exception $e){
    die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
?>

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

PDO で SQL ステートメントを実行する 3 つの方法

注: query と exec は両方ともすべての SQL ステートメントを実行できますが、戻り値は次のとおりです。違う。

2. クエリはすべての実行機能を実現できます。

3. select ステートメントを exec に適用すると、常に 0 が返されます

4 クエリの特定の結果を確認したい場合は、foreach ステートメントを通じてループ出力を完了できます

3 つのメソッド: 前処理ステートメント: prepare() ステートメントとexecute() ステートメント

前処理ステートメントには、prepare() メソッドとexecute() メソッドが含まれます。まず、prepare() メソッドを使用してクエリを準備し、次に、execute() メソッドを使用してクエリを実行します。また、bindParam() メソッドを使用してパラメータをexecute() メソッドにバインドすることもできます。 構文は次のとおりです。

PDO で準備する 処理ステートメント prepare() とexecute() は SQL クエリ ステートメントを実行し、ループを使用してデータをループアウトします。 サンプル コードを詳しく見てみましょう:

PDOStatement PDO::prepare(string statement[,array driver_options])
bool PDOStatement::execute([array input_parameters])
出力結果は次のとおりです:

PDO で SQL を実行するときの 3 つのこと ここでは、この方法を紹介します。とても簡単です。次の記事で、PDO で結果セットを取得する方法を紹介します。 , 『

PDOで取得する』結果セットのfetch()メソッドを詳しく解説

》を読んでください!

以上がPDO で SQL ステートメントを実行する 3 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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