「プリペアドステートメント」の版間の差分

提供: セキュリティ
移動: 案内検索
(ページの作成:「<!-- vim: filetype=mediawiki --> プリペアドステートメント (prepqred statement) とは、SQL文を解析し、SQL を実行できるように準...」)
(相違点なし)

2013年8月23日 (金) 00:26時点における版

プリペアドステートメント (prepqred statement) とは、SQL文を解析し、SQL を実行できるように準備したステートメントです。プリペアドステートメント は、動的にパラメータを指定できます。ステートメントを再利用することにより、SQL文の解析作業を1回だけにでき、パフォーマンスの低下を防げます。

読み方

プリペアドステートメント
ぷりべあど すてーとめんと
prepqred statement
ぷりべあど すてーとめんと

概要

プリペアドステートメント は、 SQL Injection 対策として利用されます。

PHP PDO でのプリペアドステートメント

<?php
$sql =<<SQL
SELECT * FROM t1 WHERE id=:id;
SQL;
 
$data = array ();
try {
	$dbh = new PDO ('...', 'mysql', 'secret');
	$sth = $dbh->prepare($sql);
	$sth->execute (array(':id'=>1));
	$data[] = $sth->fetch();
	$sth->execute (array(':id'=>2));
	$data[] = $sth->fetch();
} catch (PDOException $e) {
	error_log ($e);
}
?>

関連項目