Php 使用链接和文本框更新数据库

Php 使用链接和文本框更新数据库,php,mysql,web,Php,Mysql,Web,我有一个数据库,它将数据显示为三行。名字、姓氏和年龄。我将它显示在单独的文本框中,如下所示 添加条目完全有效。没问题。真正的问题是“更新”和“删除”链接。请记住,按钮确实有效,但我不打算使用按钮。当我单击delete时,条目实际上是删除的。整行的框和更新和删除都消失了 问题是,当我在用其他数据填充框后单击“更新”时,就会发生这种情况 下面是我使用的代码(至少是重要的部分) PHP: 这里是HTML做的表格和链接 <?php while($row = mysql_fetch_array(

我有一个数据库,它将数据显示为三行。名字、姓氏和年龄。我将它显示在单独的文本框中,如下所示

添加条目完全有效。没问题。真正的问题是“更新”和“删除”链接。请记住,按钮确实有效,但我不打算使用按钮。当我单击delete时,条目实际上是删除的。整行的框和更新和删除都消失了

问题是,当我在用其他数据填充框后单击“更新”时,就会发生这种情况

下面是我使用的代码(至少是重要的部分)

PHP:

这里是HTML做的表格和链接

<?php
while($row = mysql_fetch_array($retreve, MYSQL_ASSOC)){

//echo"<form action='form.php' method='post' name='form'>";
echo "<tr>";
echo "<td><input type='text' name='firstname' value='".$row['firstname']."'> </td>";
echo "<td><input type='text' name='lastname' value='".$row['lastname']."'> </td>";
echo "<td><input type='text' name='age' value='".$row['age']."'> </td>";
echo "<td><input type='hidden' name='id' value='".$row['id']."'> </td>";
//links insead of buttons
echo "<td><a href = 'form.php?type=update&id={$row['id']}&age={$_GET['age']}' id='update'> Update</a> </td>";
echo "<td><a href = 'form.php?type=delete&id={$row['id']}' id='delete'> Delete</a> </td>";
echo"</form>";
}
echo "</table>";

我对mySQL不是很感兴趣,但也许可以尝试连接变量

$sql = "DELETE FROM addresses WHERE id ='" . $_GET["id"] . "'";
这条线也是一样

$sql = "UPDATE addresses SET firstname='" . $_GET["firstname"] . "', lastname='" . $_GET["lastname"] . "', age='" . $_GET["age"] . "' WHERE id='" . $_GET["id"] . "'";

值得一试

一切都错了。您使用的是过时的api(mysql),而不是预处理语句(hurray、sql注入)。您应该调试代码,查看值并检查是否所有内容都已设置。我希望您知道,通过使用
$\u GET[id]
进行删除,几乎任何人都可以删除表中的所有数据?这只是一个小项目,与任何公司都无关。这正是我老师希望我使用的。填写字段并单击更新链接后,数据库表是否会更新?是的,会。该条目看起来与网页上的表完全相同。
$sql = "UPDATE addresses SET firstname='" . $_GET["firstname"] . "', lastname='" . $_GET["lastname"] . "', age='" . $_GET["age"] . "' WHERE id='" . $_GET["id"] . "'";