我目前正在构建一个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错误应该非常清楚地指出这一点。