2

我目前正在构建一个具有多个下拉菜单的 Web 表单,我想通过 PHP 将它们提交到 SQL 数据库中。

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

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

谢谢

4

5 回答 5

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 注入攻击”。

于 2012-08-29T20:13:18.057 回答
1

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

于 2012-08-29T20:14:11.217 回答
1

您在行尾缺少分号:

$query="INSERT INTO testtable (cli, env, type, fault)VALUES ('$CLI', '$Environment', '$Type', '$Fault')"
于 2012-08-29T20:14:27.823 回答
0

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

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

于 2012-08-29T20:12:14.577 回答
0

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

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

于 2012-08-29T20:14:03.633 回答