这里当我尝试插入它时没有回音,所以如果mysqli_query
返回False
,我会尝试回显一个字符串。所以它不断返回False
。我无法弄清楚此代码中的错误。请帮忙!
$query = "INSERT INTO users ('fname', 'lname', 'email', 'password') VALUES ('".$fname."', '".$lname."', '".mysqli_real_escape_string($link, $email)."', '".md5(md5($email)).$pass."')";
$resultquery = mysqli_query($link, $query);
if ($resultquery == FALSE) {
echo "not registered";
} else {
echo "registed";
}
答案 0 :(得分:1)
插入时第一个括号中不需要引号。
另请注意,md5
不再是哈希密码的好选择。还尝试使用预准备语句来避免SQL注入。
此外,md5(md5($email)).$pass
将生成一个32+字符的字符串,因此请检查密码列是否有足够的长度。
变化:
$query = "INSERT INTO users ('fname', 'lname', 'email', 'password') VALUES ('".$fname."', '".$lname."', '".mysqli_real_escape_string($link, $email)."', '".md5(md5($email)).$pass."')";
要:
$query = "INSERT INTO users (fname, lname, email, password) VALUES ('".$fname."', '".$lname."', '".mysqli_real_escape_string($link, $email)."', '".md5(md5($email)).$pass."')";