-2
嗨,我已经在谷歌过去3小时,我只是无法找到我在我的代码中的错误,我总是得到(抱歉,您的注册失败,请返回并重试。)像我的注册查询是空的。我想我有它虽然权利...感谢您的帮助,我做了一些变化,但仍无法做到这一点:/无法通过mysqli插入到mysql数据库
<?php
if(!empty($_POST['username']) && !empty($_POST['password'])&& !empty($_POST['password1']))
{
$servername = "localhost";
$name = "root";
$pass = "";
$dbname = "users";
$link = mysqli_connect($servername, $name, $pass, $dbname);
if (!$link) {
die("Connection failed: " . mysqli_connect_error());
}
}
$username = mysqli_real_escape_string($link,$_POST['username']);
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
$password1 = password_hash($_POST['password1'], PASSWORD_DEFAULT);
$email = mysqli_real_escape_string($link,$_POST['email']);
$checkusername = mysqli_query($link,"SELECT * FROM users WHERE Username = '".$username."'");
if(mysqli_num_rows($checkusername) == 1)
{
echo "<h1>Error</h1>";
echo "<p>Sorry, that username is taken. Please go back and try again.</p>";
}
else
{
$registerquery = mysqli_query($link,"INSERT INTO users (ID,Username,Password,EmailAddress) VALUES(NULL,'".$username."', '".$password."', '".$email."')");
echo($registerquery);
if($registerquery)
{
echo "<h1>Success</h1>";
echo "<p>Your account was successfully created. Please <a href=\"index.php\">click here to login</a>.</p>";
}
else
{
echo "<p>Sorry, your registration failed. Please go back and try again.</p>";
}
}
mysqli_close($link);
?>
BTW你使用MySQL逃避应mysqli的。在散列之前我不会逃避密码。并考虑使用password_hash而不是md5。 –
有关密码的旁注。上面已经说过不使用MD5,但是你应该阅读关于操纵密码的另一件事的以下Q&A http://stackoverflow.com/questions/36628418/cleansing-user-passwords –