使用此查询时出现 MySQL 语法错误 (1064)。我一直在搜索 SO 上的几十个 mysql 语法问题,疯狂地搜索,盯着这个 SQL 语句无济于事。在执行语句之前,我使用的是mysqli的real_escape_string()。我曾尝试(绝望地)从查询中删除所有换行符,但这无济于事。是什么导致了错误?
INSERT INTO `file_upload`.`files` (
`id`,
`name`,
`user_id`
)
VALUES (
NULL,
'filename.txt',
1
)
我收到的错误消息是:
...检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '\'filename.txt\',1)' 附近使用正确的语法
编辑
这是PHP代码。Connection 是一个 mysqli 对象。
public function add_file_to_user($file, $user_id) {
$query = "INSERT INTO `file_upload`.`files` (`id`,`name`,`user_id`) VALUES (NULL,'$file->name',$user_id)";
$res = $this->query($query);
die($this->connection->errno . $this->connection->error);
}
private function query($str) {
$str = $this->connection->real_escape_string($str);
return $this->connection->query($str);
}