は、だから私は、フォームを使用して、私のテーブルにデータを入力すると、SQLインジェクションを回避するために<script>が文字列内にある場合、テーブルのデータは表示されません。実行
$username = mysqli_real_escape_string($con, $_POST['username']);
mysqli_real_escape_stringを使用停止します。このメソッドを使用すると、入力としてスクリプトを使用しようとした人の場合に、このようにデータが保存されます。<script> some bad script </script>
もちろん、注入は行われませんが、テーブルからデータを取得しようとしている間に、そのように保存されたユーザー名に達すると、実行は停止します。私はテーブルを編集して<script> </script>
の部分を削除してページをリフレッシュしてみましたが、期待どおり実行が停止せず正しく終了しました。テーブルからデータを取得するために次のコードを使用しました。
require_once ('dbconnect.php');
$title= "The App";
$qry = "SELECT * FROM businesses ";
$result = mysqli_query($con,$qry);
$info = array();
while($row_info = mysqli_fetch_assoc($result))
{ $info= $row_info;
echo " The ID:" . $row_info['buss_id'] . "<br>" . "The username:" . $row_info['username'] . "<br>";
}
注:dbconnect.phpには$ con変数があります。ありがとうございました。 私もそれは私がチュートリアルを以下して、彼らはそのようにやった
$info=$row_info;
、しかしはっきりと私は変数row_info $を使用して同じ結果を持つことができると言うのコードでは一部についてお尋ねしたいと思います。どんな説明も認められるでしょう。ありがとう。
正常に動作します: - いいえ、それはありません。あなたはそのために 'prepared statements'を使用しなければなりません –
@ Anant - ありがとうございます、頭を上げて、私はそれを探します! – Mar1ak
マークアップを含まない文字列をHTMLドキュメントに表示する場合は、 'htmlspecialchars($ row_info ['username'])'を使用します。 http://php.net/manual/function.htmlspecialchars.php – Phil