2015-11-06 120 views
1

在这里,当我尝试插入它回声没有,所以我试图回显一个字符串,如果mysqli_query返回False。所以它不断返回False。我无法弄清楚这段代码中的错误。请帮忙!插入不工作在mysqli_query()函数

$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"; 
} 
+1

'回声$查询;'第一 – Alex

+0

*呼应没什么* *,但因此它一直返回false *。我很困扰。你的代码绝对应该输出任何东西!或张贴您的代码的完整片段 – Alex

回答

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."')"; 
+0

感谢队友...和PL你可以sed我的链接,我可以看看如何哈希我的密码,并避免SQL注入正确...这将是一个很大的帮助,我...谢谢再次... –

+0

不客气。尝试学习PDO:http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html关于哈希看看这里:http://www.sitepoint.com/hashing-passwords-php-5-5-密码哈希-API/....和在这里:http://php.net/manual/en/function.password-hash.php ... –

+0

此外,如果你找到了有用的答案,并为你工作,那么请考虑将答案标记为已接受的答案。 –