PDO使ってSQL文はプリペアドステートメントで書くって一択でいいんですね(基本的には)。
mysql関数?エスケープ処理?なにそれ?
参考書も最初からプリペアドステートメントで教えてくれればいいのに…。
SQLを動的に書く場合(テキストボックスに入力された情報をWHERE条件にするとか)は、
SQLインジェクション対策としてエスケープ処理が必要だよーと参考書では書いてありますが
抜け穴が出ないようなエスケープ処理をあれこれ考えたり調べたりするのは無駄骨です。
深く考えずにプリペアドステートで書きましょう。
(少なくとも初心者向けの参考書は「とりあえずプリペアドステートメント使っとけ」でいいと思うんだ)
WHEREの他にもORDERや、INSERT文のVALUEなんかでもプレースホルダ使えます。
詳しくは「PHP PDO プリペアドステートメント」とか「PHP プレースホルダ」あたりでググると幸せになれるかと。
0 件のコメント:
コメントを投稿