我目前正在构建一个包含多个下拉菜单的Web表单,我想通过PHP将它们提交到SQL数据库中。
我的PHP知识很少,但没有比学习更好的学习方法!我正在按照本指南将数据发布回我的数据库 - Link
我的代码是:
$CLI = $_POST['CLI'];
$Environment = $_POST['Environment'];
$Type = $_POST['Type'];
$Fault = $_POST['Fault'];
$query="INSERT INTO testtable (cli, env, type, fault)VALUES ('$CLI', '$Environment', '$Type', '$Fault')"
mysql_query($query) or die (mysql_error());
echo "Database Updated With: ".$CLI";
当我编辑这段代码时,我在mysql_query行和echo行上遇到语法错误。我已经将它上传到我的服务器,但它进入了php更新页面,然后没有将数据发送回数据库。
有人可以帮忙吗?我找不到任何简单的答案来解决它!
由于
答案 0 :(得分:4)
你需要在mysql行的末尾加一个分号(在最后一个引用之后)。
可能在VALUES
之前需要一个空格。
在最后一行的末尾有一个额外的"
。
换句话说:
$query="INSERT INTO testtable (cli, env, type, fault) VALUES ('$CLI', '$Environment', '$Type', '$Fault')";
mysql_query($query) or die (mysql_error());
echo "Database Updated With: ".$CLI;
注意:强>
如评论中所述,如果有人调用传递此内容的页面:
&Type=','');+DROP+TABLE+testtable;+--
...它会删除你的数据!请及时阅读“Sql注入攻击”。
答案 1 :(得分:1)
请修改您的代码。你想念 ;在$query=...
之后,您在最后一行中有额外的"
。
答案 2 :(得分:1)
你在行尾错过了一个分号:
$query="INSERT INTO testtable (cli, env, type, fault)VALUES ('$CLI', '$Environment', '$Type', '$Fault')"
答案 3 :(得分:0)
在运行mysql_connect()
之前,您需要先使用mysql_query()
连接到您的数据库。
答案 4 :(得分:0)
在$query="INSERT...
行的末尾没有分号,并且在最后一行的分号前面有一个额外的双引号。
问题的PHP错误应该非常清楚地指出这一点。