このコードの問題点を教えてください。(76行目が真ん中です)
require("dbConfig.php");
$sql = 'SELECT * FROM dbUsers WHERE username='$_SESSION["valid_user"]'';
$r = mysql_query($sql);
これを試してください (ユーザー入力をサニタイズすると、SQL インジェクションを防ぐことができます):
<?php
require("dbConfig.php");
$sql = "SELECT * FROM dbUsers WHERE username='".filter_var(mysql_real_escape_string($_SESSION["valid_user"]),FILTER_SANITIZE_STRING)."'";
$r = mysql_query($sql);
?>
編集: 入力文字列をエスケープするために mysql_real_escape_string() を追加しましたが、ここで説明したように、これでも SQL インジェクションに対して 100% 効率的ではありません。
見逃し.
た:
$sql = 'SELECT * FROM dbUsers WHERE username='$_SESSION["valid_user"]'';
次のようにする必要があります。
$sql = "SELECT * FROM dbUsers WHERE username='".$_SESSION["valid_user"]."'";
これを試して:
$sql = 'SELECT * FROM dbUsers WHERE username='.$_SESSION["valid_user"];