我有一个包含内容的数据库。
我有一个显示所有记录表的页面。您可以单击编辑任何所需的记录,当您单击编辑时,它会将您重定向到新表单并将所有信息填充到某些表单中。
编辑表单值并单击“提交”时,应该更新数据库中的记录。
我更新时收到成功消息,但记录实际上没有更新。
form.php的:
<?php
$emp_id= ($_GET["id"]);
$sql = "SELECT * FROM people
WHERE id='$emp_id' LIMIT 1";
$result = mysql_query($sql);
$row_people = mysql_fetch_array($result);
?>
<form method="post" action="update.php?id=<?php echo "$emp_id" ?>">
<input type="hidden" name="id" value="<?php echo "$row_people[id]"; ?>">
<fieldset>
<legend><b>Name</b></legend>
First Name:<input type="text" name="first_name" size="20" value="<?php echo "$row_people[first_name]"; ?>">
Last Name:<input type="text" name="last_name" size="40" value="<?php echo "$row_people[last_name]"; ?>">
</fieldset>
update.php
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="ogs"; // Database name
$tbl_name="people"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$emp_id= ($_GET["id"]);
$first_name = $_POST["first_name"];
$last_name = $_POST["last_name"];
// update data in mysql database
$sql="UPDATE $tbl_name SET first_name='$first_name', last_name='$last_name' WHERE id='$emp_id' LIMIT 1";
$result=mysql_query($sql);
// if successfully updated.
if($result){
echo "Successful";
echo "<BR>";
}
else {
echo "ERROR";
}
?>
不确定我错过了什么。
如果我将查询中的$ first_name更改为实际文本,则更新正常。
所以我假设我的form.php或$ _POST有问题吗?
答案 0 :(得分:0)
在$row_people[first_name]
文件中从$row_people['first_name']
更改为Form.php
。同样适用于id
和last_name
字段。
<?php
$emp_id= ($_GET["id"]);
$id = 0; $firstName = ''; $lastName = '';
$sql = "SELECT * FROM people
WHERE id='$emp_id' LIMIT 1";
$result = mysql_query($sql);
$row_people = mysql_fetch_array($result);
if(!empty($row_people)) {
$id = $row_people['id'];
$firstName = $row_people['first_name'];
$lastName = $row_people['last_name'];
}
?>
<form method="post" action="update.php?id=<?php echo "$emp_id" ?>">
<input type="hidden" name="id" value="<?php echo $id; ?>">
<fieldset>
<legend><b>Name</b></legend>
First Name:<input type="text" name="first_name" size="20" value="<?php echo $firstName; ?>">
Last Name:<input type="text" name="last_name" size="40" value="<?php echo $lastName; ?>">
</fieldset>
</form>