我正在建立自己的网站,而且我正处于后端管理部分,我目前仍然坚持将表单中的详细信息提交到我的数据库中,但无论如何我都会一遍又一遍地得到同样的错误,这是:
错误: 您的SQL语法有错误;查看与您的> MySQL服务器版本对应的手册,以便使用接近'更改的值语法(' Connor',>' Connor')&#39 ;在第1行
这是给我错误的代码(它完美地连接到数据库):
$query = "INSERT INTO changes (DevName,Change) VALUES ('$dev', '$changed')";
$a = mysql_query($query);
当我查看其他代码时,它一直在说语法错误,它显示与我所拥有的代码完全相同的东西(当然除了变量)。
答案 0 :(得分:2)
原因是Change is a reserve word in MySQL
..你必须使用backtique来逃避它。
以下工作正常,否则爆炸:
create table changes
( DevName varchar(100),
`Change` varchar(100)
);
insert changes(DevName,`Change`) values ('1','2');
答案 1 :(得分:0)
请不要使用mysql _ * 方法,因为它们在PHP5.5中已弃用,在PHP7中已删除。而不应该使用PDO或mysqli
$sth = $dbh->prepare('INSERT INTO changes ('DevName', 'Change') VALUES (:dev, :changed)');
$sth->bindParam(':dev', $dev, PDO::PARAM_STR);
$sth->bindParam(':changed', $changed, PDO::PARAM_BOOL);
$sth->execute();
的详细信息