无法使用mysqli_real_escape_string插入到mysql数据库中

时间:2017-04-17 18:53:31

标签: php mysql database

我正在为mysql练习制作一个秘密日记网站。我已经设置了4列来接受id,电子邮件,密码和日记条目。每当我使用查询插入$_POST['email']$_POST['password']时,id就是主键并自动递增。我已经成功地将假的条目添加到数据库中,这不是我的问题。我正在关注如何执行此操作的视频指南,并且教师在插入数据库之前使用方法mysqli_real_escape_string()和POST变量,每当我使用它时,只有空白文本输入到我的数据库中。每当我不使用该方法时,我的查询就会成功写入我的数据库。任何人都可以解释为什么会这样吗?

enter image description here

如果用户没有填写字段或输入错误的电子邮件格式,我会在以下php代码之前实施检查以添加到我的$ error变量。

if (!empty($error)) {
            $error = '<p><strong>There were error(s) in your sign-up:</strong></p>'.$error;
        } else {
                print_r($_POST);
                //$emailInput = mysqli_real_escape_string($_POST['email']);
                $emailInput = $_POST['email'];
                //$passwordInput = mysqli_real_escape_string($_POST['password']);
                $passwordInput = $_POST['password'];
                $query = "INSERT INTO `users` (`email`, `password`) VALUES ('$emailInput', '$passwordInput')";

                if($result = mysqli_query($link, $query)) {
                    echo "Sign Up Successful";
                } else {
                    $error .= "<p>Could not sign you up - please try again</p>";
                  }      
            }
}

0 个答案:

没有答案