bindParam と bindValue
PDO でプレースホルダーを利用するとき、bindParam や bindValue を使うことがある。これらは、変数をホルダー部分に当てはめる点では同じだが、当てはめを行うタイミングが異なる。
タグ
2011年10月15日 | コメント&トラックバック(0) | トラックバックURL |
カテゴリ: データベース
PDO
php5.1以降で標準利用可能なエクステンション。(念のためphp.iniは確認しておく)
最初に、new PDO($database, $user, $password)(databaseはmysql:dbname=hogehoge;host=localhostのような形式)でデータベースの種類を指定する必要があるが、それ以後のクエリ発行等は原則として特定のデータベースに依存しない形で記述できる。
プリペアードステートメントに対応。
$db->prepare(SQL文);
$db->bindParam(プレースホルダ、変数の値);
これを利用すれば、自動的にエスケープされるのでSQLインジェクション脆弱性を未然に防ぐことが可能。また類似したクエリが多数ある場合は、処理速度に大きく影響する。
タグ
2011年06月11日 | コメント&トラックバック(0) | トラックバックURL |
カテゴリ: データベース