[英]Error in SQL syntax when I try a query
我在使用简单的sql插入查询(mysqli)时遇到了一个大(愚蠢的)问题,我已经使用了这种格式,没有错误,但是现在不起作用。
请帮助我发现问题..
//Get admin form details
$a_user = $_POST["a_user"];
$a_pass = $_POST["a_pass"];
$a_pin = $_POST["a_pin"];
if($a_user == "$admin_username" && $a_pass == "$admin_password" && $a_pin == "$admin_pin"):
$keygen = md5(microtime().rand());
$mysqli->query("INSERT INTO keys (keygen) VALUES ('$keygen')") or die(mysqli_error($mysqli));
$mysqli->close;
else:
header("Location: ?page=admin&error=1");
endif;
这是错误:
错误:您的SQL语法有错误; 检查与您的MySQL服务器版本相对应的手册以获取在第1行的'keys(keygen)VALUES('85faa7f618e433819d7e5ca57076377c')'附近使用的正确语法
keys
是MySQL保留字http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
可以将其包装在反引号中,也可以使用其他名称。
INSERT INTO `keys`
边注:
MD5较旧,如果您打算将其用于密码目的,则认为它已损坏。
使用CRYPT_BLOWFISH或PHP 5.5的password_hash()
函数。
对于PHP <5.5,使用password_hash() compatibility pack
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.