Uri*_*obe 0 php mysql sql mysql-error-1064
我在这一行中不断收到错误1064:
$sqlquery = "INSERT INTO user
(username, password, email, key)
VALUES
('".$_POST["username"]."','".$_POST["password"]."','".$_POST["email"]."','".$activation."')";`
Run Code Online (Sandbox Code Playgroud)
Rud*_*ser 12
key
是您在查询中使用的保留字,必须使用反引号进行转义.保留字错误是1064.
您还应该考虑学习一些安全性理论,特别是在查询中使用未转义的值(直接来自用户).
以下代码既安全又固定:
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$sqlquery = "INSERT INTO `user` (`username`, `password`, `email`, `key`) VALUES ('{$username}','{$password}','{$email}','{$activation}')";
Run Code Online (Sandbox Code Playgroud)
查询(好吧,任何事情)的一个简单规则是永远不要信任用户输入.通过使用mysql_real_escape_string
您可以转义变量,以便它们可以安全地插入数据库.没有它,您可以允许用户运行他们想要的任何查询.
归档时间: |
|
查看次数: |
148 次 |
最近记录: |