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('php','523')";//需要执行的sql语句 $res=$pdo->exec($query);//执行添加语句并返回受影响行数 echo "数据添加成功,受影响行数为: ".$res; }catch(Exception $e){ die("Error!:".$e->getMessage().'<br>'); } ?>
出力結果は次のとおりです。
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().'<br>'); } ?>
出力結果は次のとおりです:
注: query と exec は両方ともすべての SQL ステートメントを実行できますが、戻り値は次のとおりです。違う。
2. クエリはすべての実行機能を実現できます。
3. select ステートメントを exec に適用すると、常に 0 が返されます
4 クエリの特定の結果を確認したい場合は、foreach ステートメントを通じてループ出力を完了できます
。
3 つのメソッド: 前処理ステートメント: prepare() ステートメントとexecute() ステートメント
前処理ステートメントには、prepare() メソッドとexecute() メソッドが含まれます。まず、prepare() メソッドを使用してクエリを準備し、次に、execute() メソッドを使用してクエリを実行します。また、bindParam() メソッドを使用してパラメータをexecute() メソッドにバインドすることもできます。 構文は次のとおりです。
PDO で準備する 処理ステートメント prepare() とexecute() は SQL クエリ ステートメントを実行し、ループを使用してデータをループアウトします。 サンプル コードを詳しく見てみましょう: PDOで取得する』結果セットのfetch()メソッドを詳しく解説 以上がPDO で SQL ステートメントを実行する 3 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。PDOStatement PDO::prepare(string statement[,array driver_options])
bool PDOStatement::execute([array input_parameters])