繁体   English   中英

我尝试查询时SQL语法错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM