我目前正在为 friend 网站升级代码,但遇到了登录脚本问题。我试图通过使用 mysql_real_escape_string()
来防止 SQL 注入(inject)。 mysql_escape_string()
工作正常但 mysql_real_escape_string()
不行。这是我得到的:
if (isset($_POST['submit']))
{
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$db_link = db_connect("project");
$query = "SELECT * FROM user WHERE username = '$username' AND password = password('$password')";
$result = mysql_query($query) or die (mysql_error());
$numrows = mysql_num_rows($result);
if($numrows == 1)
{
RedirectToURL("home.php");
}
else
{
login_page("Invalid login! Try again");
}
}
else
{
login_page("");
}
最佳答案
为了使用 mysql_real_escape_string 你必须登录到数据库。 如果您未登录,则使用 mysql_escape_string。
关于php - mysql_real_escape_string - 登录脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13222202/