prepareメソッド

火曜日 , 22, 9月 2020 Leave a comment

prepareメソッドを利用してみましょう。これはSQLの文章を組み立てるときに危険性が高いキーワードを置き換えてくれる処理があります。サニタイズ、無害化と呼ばれるものです。input_do.phpにexecメソッドの代わりに、prepareというメソッドにSQLを指定しましょう。

また、フォームで受け取った内容を指定する箇所として、クスエスチョンを記述します。prepareメソッドを実行するとPDO Statemetという形式のオブジェクトを取得できます。このオブジェクトには、executeメソッドが備わっています。PDOにあるexecメソッドと同じような役割となります。ただし、少しメソッドの名前が異なります。気をつけて使いましょう。このメソッドの場合、さきのprepareメソッドでSQLを組み立てたら、?を指定した箇所に、挿入したい内容をしてしましょう。こでは「$_POST[‘memo’]」というグローバル変数をし指定します。

テキストエリアにこんにちは、と入力したら、「INSERT INTO memos SET memo=”こんにちは」というSQLをが実行されます。また、テキストフィールドに「これは”メッセージです”」とダブルクオーテーションを含めて入力してみるといいでしょう。これも、問題なく挿入されることになります。これが「INSERT INTO memos SET memo*”これは、”メッセージです””」ということになると、ダブルクオーテーションが重複することになります。これでは正常に処理はされません。prepareメソッドは、これらの文字列を正しく処理してくれるということです。

Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です