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')";