我正在尝试通过在表单上显示以前保存的数据来编辑表单数据,然后进行更新。它显示了保存在数据库中的表单上的数据,但是当我输入新数据时,它不会获得该行的id。我回显更新查询,它显示更改的值,但它显示id等于空。这是我编辑记录和更新的代码;编辑记录正在运行,但更新不是
<?php
include('connection.php');
$id = '';
if( isset( $_GET['id'])) {
$id = $_GET['id'];
}
$udfname = mysql_real_escape_string($_POST["udfname"]);
$udlname = mysql_real_escape_string($_POST["udlname"]);
$udpwd = mysql_real_escape_string($_POST["udpwd"]);
$udeml = mysql_real_escape_string($_POST["udeml"]);
$udnum = mysql_real_escape_string($_POST["udnum"]);
$query="UPDATE form
SET fname = '$udfname', lname = '$udlname', pwd = '$udpwd', eml = '$udeml', num = '$udnum'
WHERE id='$id'";
$res= mysql_query($query);
if($res){
echo "<p> Record Updated<p>";
}else{
echo "Problem updating record. MY SQL Error: " . mysql_error();
}
?>
编辑记录表格:
<?php
include('connection.php');
$id = (int)$_GET['id'];
$query = mysql_query("SELECT * FROM form WHERE id = '$id'") or die(mysql_error());
while($row = mysql_fetch_array($query)) {
echo "";
$fname = $row['fname'];
$lname = $row['lname'];
$pwd = $row['pwd'];
$eml = $row['eml'];
$num = $row['num'];
}
?>
<html>
<head>
<title>Edit</title>
<script>
'
'
Jquery code here
'
'
</script>
</head>
<body>
<form action="update.php" method="post">
<input type="hidden" name="ID" value="<?=$id;?>">
First Name: <input type="text" name="udfname" value="<?=$fname;?>"><br>
Last Name: <input type="text" name="udlname" value="<?=$lname?>"><br>
Password: <input type="text" name="udpwd" value="<?=$pwd?>"><br>
Email: <input type="text" name="udeml" value="<?=$eml?>"><br>
Contact Number: <input type="text" name="udnum" value="<?=$num?>"><br>
<input type="Submit">
</form>
</body>
</html>
答案 0 :(得分:1)
在更新时,您的表单将使用POST请求提交。所以你需要使用POST方法获取ID。因此,要获取隐藏字段的ID,请更改以下代码:
$id = '';
if( isset( $_POST['ID'])) {
$id = $_POST['ID'];
}
答案 1 :(得分:0)
请尝试以下代码
if( isset( $_POST['id']) && $_POST['id']!=null) {
$id = $_POST['id'];
}
答案 2 :(得分:0)
亲爱的,我认为您使用post方法发送数据的方法存在问题,而且非常简单而非此代码
if( isset( $_GET['id'])) {
$id = $_GET['id'];
}
写
if( isset( $_POST['id'])) {
$id = $_POST['id'];
}
还有一件事是你正在使用数据库的mysql弃用函数,请使用pdo来实现这个或新的mysqli函数。