ここから本文です

PHP PDOで bindValueI()やbindParam()をかませてexecute() し、プリペアドステ...

rag********さん

2019/12/2203:49:06

PHP PDOで

bindValueI()やbindParam()をかませてexecute()
し、プリペアドステートメントを実行するのと、

excute([':○○'=>$○○, ':△△'=>$△△])
のように直接バインドして実行する違いは何でしょうか?

閲覧数:
16
回答数:
2

違反報告

ベストアンサーに選ばれた回答

mzg********さん

2019/12/2412:25:01

bindValueでは、データ型を指定するので、データ型に応じたチェックが行われます。
execute メソッドでbind するとデータ型はすべて文字列型として処理されます。
数値型でなければならない値を文字列型でbindしてしまうと、文字列と数値の自動変換がおきて、データベースによっては、思わぬinjectionを起こすことにもつながります。

質問した人からのコメント

2019/12/28 13:39:17

ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

aho********さん

2019/12/2211:54:33

セキュリティ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる