[英]mysql not updating php form
I have a database with content. 我有一个内容数据库。
I have a page that displays a table of all records. 我有一个页面,显示所有记录的表。 You can click edit for any record you wish, when you click edit it redirects you to a new form and populates all the information into some form feilds.
您可以单击所需的任何记录的“编辑”,当您单击“编辑”时,它会将您重定向到新表单,并将所有信息填充到某些表单域中。
When you edit the form values and click submit it is supposed to update the record in the database. 当您编辑表单值并单击提交时,应该更新数据库中的记录。
I get a success message when I update,but the record doesnt actually update. 更新时,我收到一条成功消息,但记录实际上并未更新。
form.php: 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 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";
}
?>
Not sure what I am missing. 不知道我在想什么。
If i change the $first_name in my query to actual text, it updates fine. 如果我将查询中的$ first_name更改为实际文本,它会更新正常。
So I'm assuming something is wrong with my form.php or the $_POST? 所以我假设我的form.php或$ _POST有问题吗?
Change from $row_people[first_name]
to $row_people['first_name']
in Form.php
file. 从
Form.php
文件中的$row_people[first_name]
更改为$row_people['first_name']
。 The same for id
and last_name
field also. 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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.