添加/删除/更新数据库元素不起作用(Dreamweaver + phpMyAdmin)

时间:2014-05-20 13:57:42

标签: php mysql phpmyadmin

我正在尝试为Web编程项目创建一个非常简单的控制面板," Show"我的控制面板中的功能运行良好,并通过我的删除,添加和更新功能显示所有元素根本不起作用。

这是我想要对每个功能做的事情: 添加功能 - >我想从输入元素向我的数据库添加一个元素 删除功能 - >我想删除用户在控制面板中输入其ID的元素 更新 - >使用此功能,我想更改所选产品的产品标题。

这3个功能不起作用,当我在网页中输入数据时,我发现在表格中没有添加/更改任何内容。

以下是代码:

add.html

<title>Add</title>
</head>

<body>
<form action="add.php" method="post">
<font size="+2" color="#CC0033">ID</font><input type="text" name="ID" />
<font size="+2" color="#CC0033">Product Title</font><input type="text" name="ProductTitle" />
<font size="+2" color="#CC0033">Price</font><input type="text" name="Price" />
<font size="+2" color="#CC0033">Quantity</font><input type="text" name="Quantity" />
<input type="submit" value="Insert" />
</form>
</body>
</html>

add.php

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Done</title>
</head>

<body>
<?
$ID=$HTTP_POST_VARS["ID"];
$ProductTitle=$HTTP_POST_VARS["ProductTitle"];
$Price=$HTTP_POST_VARS["Price"];
$Quantity=$HTTP_POST_VARS["Quantity"];

$db=mysql_connect("localhost","root","");
if($db==false)
{
    print "Error";
    exit;
}
mysql_select_db("Computer");
$query=("insert into Products values('".$ID." ',' ".$ProductTitle."',' ".$Price."',' ".$Quantity."')");
mysql_query($query);


?>
</body>
</html>

delete.html

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
Enter the ID of the product that you wish to delete:
<form action="delete.php" method="post">
<input type="text" name="UserInput">
<br>
<input type="submit" value="Delete">
</form>
</body>
</html>

delete.php

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?
$UserInput=$HTTP_POST_VARS["UserInput"];

$db=mysql_pconnect("localhost","root","");

if(!db)
{
  print "Error"; 
  exit; 
}

mysql_select_db("Computer");
$query=("delete from Products where ID=".'$UserInput');
mysql_query($query);


?>

</body>
</html>

update.html

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form action="update.php" method="post">
Product ID<input type="text" name="ProductID">
Product Name<input type="text" name="ProductTitle">
New Product Name<input type="text" name="NewProductTitle">
<br>
<input type="submit" value="Update">
</form>

</body>
</html>

update.php

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?
$ProductID=$HTTP_POST_VARS["ProductID"];
$ProductTitle=$HTTP_POST_VARS["ProductTitle"];
$NewProductTitle=$HTTP_POST_VARS["NewProductTitle"];
$db=mysql_pconnect("localhost","root","");

if(!$db)
{
    echo "Error";
    exit;
}

mysql_select_db("Computer");

$query=("update Products set ProductTitle='".$NewProductTitle. "' where ID=$ProductID");
mysql_query($query);


?>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

首先,擅长于尝试提出解决方案,但是,正如其他评论者所说,您的脚本确实存在问题。首先,我考虑更换$ HTTP_POST_VARS [“ID”];使用$ _POST全局变量,并运行if(isset())以确保在用户提交表单时设置了所有字段。

其次,您应该考虑使用MySQLi或PDO来处理数据库连接,因为它们还可以提供验证和过滤以防止注入攻击,如Marc B所述。如果你是一个绝对的初学者,这是一个很好的尝试,我觉得你坚持下去,你可以进一步发展,这个社区非常适合得到答案和理解你出错的地方。希望这有助于祝你好运! :)