php - mysql_real_escape_string - 登录脚本

标签 php html

我目前正在为 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/

相关文章:

php - 您必须安装 FFMPEG 才能使用此功能

php - 此 mod_rewrite 代码如何正确解析?

html - hr没有覆盖图像

html - 使用 CSS 创建页面偏移

html - CSS Flexbox - 将元素宽度设置为最大宽度

html - 如何在没有表格的情况下对齐文本

php - MySQL 服务器安装时间过长

php - 自定义 Laravel API 验证响应

php - Laravel 4.1+ 中的环境检测

html - 如何对齐盒子的内容