isert ステートメントで直接使用される $_POST 値の使用について読んでおり、これがトラブルの誘因であることを理解しています。私が読んだ投稿で明確でないのは、フォームが7つのアイテムをmysqli挿入スクリプトに送信していて、投稿された値を次のように使用しているとします。
$stmt = $mysqli->prepare("INSERT INTO `advertisements` (`from`, `r_u_res`, `email`, `blockname`, `floorno`, `doorno`, `content`) VALUES (?, ?, ?, ?, ?,?,?)");
$stmt->bind_param('sssssss', $_POST['from'], $_POST['rures'], $_POST['email'], $_POST['blockname'], $_POST['floorno'], $_POST['doorno'], $_POST['content']);
$stmt->execute();
$stmt->close();
それはそれを行う正しい方法でしょうか?または、投稿された値を最初に新しい変数に保存し、バインド中にその変数を使用する必要がありますか? - このような :
$postedfrom = $_POST['from'];
$postedrures = $_POST['rures'];
$postedemail = $_POST['email'];
$postedblockname = $_POST['blockname'];
$postedfloorno = $_POST['floorno'];
$posteddoorno = $_POST['doorno'];
$postedcontent = $_POST['content'];
$stmt = $mysqli->prepare("INSERT INTO `advertisements` (`from`, `r_u_res`, `email`, `blockname`, `floorno`, `doorno`, `content`) VALUES (?, ?, ?, ?, ?,?,?)");
$stmt->bind_param('sssssss', $postedfrom, $postedrures, $postedemail, $postedblockname, $postedfloorno, $posteddoorno, $postedcontent);
$stmt->execute();
$stmt->close();
OO mysqli プリペアド ステートメント ヘルプ プリーズの投稿を見ましたが、答えは上記のコードのようですが、最初のコードのように実行するとセキュリティの問題が発生するかどうかを知りたいです...