-3

我对 PHP 和 SQL 脚本很陌生,所以这可能是一个我无法弄清楚的简单修复。我有一个名为 InventoryControl 的数据库,其下有一个资产表。出于测试目的,以便我可以解决 PHP 和 SQL,我有一个非常简单的网页,只有一个表单:

<form action="insertasset.php" method="post">
Asset Tag: <input type="text" name="assettag" />
<input type="submit" />
</form>

在提交时,它将加载这个 php 脚本:

<?php
echo "PHP TEST!";
echo $_POST["assettag"];
$con=mysql_connect("localhost","sampleuser","samplepass");
if (!$con)
  {
  echo "CONNECTION FAILED!";
  die('Could not connect: ' . mysql_error());
  }
echo "I succeeded!";
mysql_select_db("InventoryControl", $con);

$sql="INSERT INTO assets (asset_tag, manufacturer, model, type, location, decomissioned, employee_owner, computer_name, price, day, month, yea$
VALUES
('$_POST[assettag]', asdf, asdf, asdf, 0, 0, asdf, asdf, 0, 0, 0, 0)";
echo "Posted!";
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  echo "I didn't work";
  }
echo "1 record added";

mysql_close($con);


?>

我在其中添加了多行 echo 用于测试以查看故障发生的位置,但我遇到的问题是我从运行 PHP 脚本得到的唯一响应是“PHP TEST!” 然后是我刚刚从之前的表格中发布的信息。所以,我知道它正在加载 PHP 脚本,并且它正在从表单中发布数据,但我似乎无法将它放入表中。据我所知,该表对要填充的列没有任何要求(我使用非常基本的参数设置它,asset_tag 是主键,否则它只是保存数据的列)。如果有人可以给新手一些帮助,将不胜感激。

4

2 回答 2

1

如果您使用 mysql_query() 函数,请像这样使用它:

mysql_query("...") or die(mysql_error());

这样你就会看到错误。

当涉及到您的问题时,您需要在 INSERT INTO 语句中单引号您的值。

但您也可以单引号列名。有时列名可以是特殊关键字,如“order”。

如果将其与 mysql_error() 一起使用,您可以更清楚地看到错误详细信息。

于 2012-05-08T17:44:51.580 回答
0
$asset=$_POST['assettag'];
$sql="INSERT INTO assets VALUES ('".$asset."', 'asdf', 'asdf', 'asdf', 0, 0, 'asdf', 'asdf', 0, 0, 0, 0)";
echo "Posted!";
if (!mysql_query($sql))
{
 die('Error: ' . mysql_error());
 echo "I didn't work";
}
于 2014-04-24T00:51:52.427 回答