mysql_query问题 - 语法错误

时间:2012-08-29 20:11:01

标签: php mysql sql insert

我目前正在构建一个包含多个下拉菜单的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更新页面,然后没有将数据发送回数据库。

有人可以帮忙吗?我找不到任何简单的答案来解决它!

由于

5 个答案:

答案 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()连接到您的数据库。

http://php.net/manual/en/function.mysql-connect.php

答案 4 :(得分:0)

$query="INSERT...行的末尾没有分号,并且在最后一行的分号前面有一个额外的双引号。

问题的PHP错误应该非常清楚地指出这一点。