Php MySQL查询因保留关键字而失败?

Php MySQL查询因保留关键字而失败?,php,mysql,database,Php,Mysql,Database,编辑:如果你是从谷歌来的,这个问题是因为int这个词在PHP中是一个保留关键字。请参见接受答案的结尾 我仍在学习PHP/MySQL,就我的一生而言,我不知道我的代码出了什么问题 我试图从html页面获取一些数据,并将其添加到数据库中的表中。我使用GET请求传递数据,然后使用PHP的$\u GET检索数据 我已经对此进行了测试,变量被正确地传递到PHP脚本,但它们不会出现在数据库中。脚本在这一行消失: mysql_query($query)或die('data entry failed') 要更好

编辑:如果你是从谷歌来的,这个问题是因为
int
这个词在PHP中是一个保留关键字。
请参见接受答案的结尾

我仍在学习PHP/MySQL,就我的一生而言,我不知道我的代码出了什么问题

我试图从html页面获取一些数据,并将其添加到数据库中的表中。我使用
GET
请求传递数据,然后使用PHP的
$\u GET
检索数据

我已经对此进行了测试,变量被正确地传递到PHP脚本,但它们不会出现在数据库中。脚本在这一行消失:
mysql_query($query)或die('data entry failed')


要更好地了解SQL查询的错误,请使用

mysql_query($query) or die(mysql_error());
使用对字符串变量进行转义。例如:

$query = "INSERT INTO MYTABLE(MYFIELD) VALUES ('".mysql_real_escape_string($myVar)."');
编辑

int
似乎是一个保留的MySQL关键字。用反引号将其转义:

INSERT INTO Players (username, password, ..., str, sta, dex, `int`, cha) ...

我不确定,但试试这个

你的代码

$query="INSERT INTO Players (username, password, charName, sex, class, race, str, sta, dex, int, cha)VALUES ('".$username."', '".$password."', '".$charName."', '".$sex."', '".$class."', '".$race."', '".$str."', '".$sta."', '".$dex."', '".$int."', '".$cha."')";
在此代码中

$query="INSERT INTO Players (username, password, charName, sex, class, race, str, sta, dex, int, cha)VALUES ('$username', '$password', '$charName', '$sex', '$class', '$race', '$str', '$sta', '$dex', '$int', '$cha')";

如果你把它去掉,也许会有帮助”“还有

它输出了什么吗?你确定$query变量被填充了吗?现在它给了我一个错误:你的SQL语法有一个错误;查看与您的MySQL服务器版本相对应的手册,以获得正确的语法,使用near'int,cha)谢谢您,我永远不会明白这一点!现在一切都好了。谢谢,这是我最初尝试的。但是把变量放在引号里会把它们当作字符串。。。
$query="INSERT INTO Players (username, password, charName, sex, class, race, str, sta, dex, int, cha)VALUES ('$username', '$password', '$charName', '$sex', '$class', '$race', '$str', '$sta', '$dex', '$int', '$cha')";