得到了这个查询:
mysql_query("INSERT INTO leaderboard (user_id, lines)
VALUES (". $rowUser['id'] .",". $linesDone .")") or die("ERROR 29: ". mysql_error());
给出此错误:
ERROR 29: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'lines) VALUES (1,50)' at line 1
我尝试了所有类型的语法,比如在查询中使用''和'',但所有的结果都是大约。同样的错误。
任何人都可以看到有什么问题吗?
答案 0 :(得分:9)
行是MySQL中的保留字 - 你必须用反引号来逃避这个词
mysql_query("INSERT INTO leaderboard (user_id, `lines`)
VALUES (". $rowUser['id'] .",". $linesDone .")") or die("ERROR 29: ". mysql_error());
btw .. mysql_ *已弃用,如manual中所述。更好地使用mysqli_ *或pdo
答案 1 :(得分:0)
保护您的查询。
mysql_query(
sprintf("INSERT INTO leaderboard (user_id,`lines`)
VALUES ('%d','%s')",
mysql_real_escape_string($rowUser['id']),
mysql_real_escape_string($linesDone)
) or die("ERROR 29: ". mysql_error());