mysql_query问题-语法错误


mysql_query Issue - Syntax error

我目前正在构建一个web表单,它有几个下拉菜单,我想通过PHP将这些菜单提交到SQL数据库中。

我对PHP知之甚少,但没有比做PHP更好的学习方法了!我正在遵循这个指南张贴数据回到我的数据库链接

我的代码是:

$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更新页面,然后不会把数据发布回数据库。

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

感谢

您需要在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注入攻击",以免为时已晚。

请修改您的代码。你想念;在$query=...之后,最后一行有额外的"

行末尾缺少一个分号:

$query="INSERT INTO testtable (cli, env, type, fault)VALUES ('$CLI', '$Environment', '$Type', '$Fault')"

在运行mysql_query()之前,您需要先使用mysql_connect()连接到数据库。

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

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

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