数据库布局:
rid (auto increment) (primary key) (255)
song (varchar) (120)
artist (varchar) (30)
by(varchar) (33)
key(varchar) (60)
Run Code Online (Sandbox Code Playgroud)
PHP代码:
$sql = "INSERT INTO Requests (song,artist,by,key)
VALUES ('$song','$artist','$by','$key')";
if($this->db->query($sql))
{
die("true");
}
echo 'false: ' . $this->db->error;
Run Code Online (Sandbox Code Playgroud)
错误:
false:您的SQL语法有错误; 检查与您的MariaDB服务器版本对应的手册,以便在第1行使用"by,key"VALUES('testsong','testing','kyle','example')'附近使用正确的语法
救命?我已经沉溺了好几年了,我看不出那个SQL有什么问题?提前致谢!
你需要使用反引号BY和KEY列,两者都是mysql保留字
$sql = "INSERT INTO Requests (`song`,`artist`,`by`,`key`)
VALUES ('$song','$artist','$by','$key')";
Run Code Online (Sandbox Code Playgroud)
边注:
我建议你,请不要对表名或列名使用保留字和关键字.