我正在尝试制作一个简单的 CRUD(更新)系统。
我已经声明了 fetch
变量,但它说它未定义。
当我修改特定行上的数据时,我想在修改之前查看文本框中的旧数据,但它只显示:
Notice: Undefined variable: fetch in D:\IDEs\xampp\htdocs\eam\edit_data.php on line 85
Notice: Undefined variable: fetch in D:\IDEs\xampp\htdocs\eam\edit_data.php on line 89
Notice: Undefined variable: fetch in D:\IDEs\xampp\htdocs\eam\edit_data.php on line 93
这是我的代码:
if ($first != '' && $first != ' ' && $last != '' && $last != ' '&& $email != "" && $email != " " && ctype_alpha(str_replace(' ',"", $first)) && ctype_alpha(str_replace(' ',"", $last)) && filter_var($email, FILTER_VALIDATE_EMAIL))
{
$mysql_query = "UPDATE register SET fname='$first', lname='$last', email='$email' WHERE id=".$_GET['id'];
$query3 = mysql_query($mysql_query);
if($query3)
{
header('location: view.php');
}
$id=$_GET['id'];
$query_results = mysql_query("SELECT id, fname, lname, email FROM register WHERE id='$id'") or die(mysql_error());
while($fetch = mysql_fetch_array($query_results))
{
}
}
}
?>
<form method="POST" action="">
<input type="hidden" name="id" value="<?php echo $fetch['id'];?>"/>
First name:
<br>
<input type="text" name="fname" style="width: 800px; height: 50px" value="<?php echo $fetch['first'];?>"/> <?php echo $fnameErr; ?>
<br>
Last name:
<br>
<input type="text" name="lname" style="width: 800px; height: 50px" value="<?php echo $fetch['last'];?>"/> <?php echo $lnameErr; ?>
<br>
Email:
<br>
<input type="text" name="email" style="width: 800px; height: 50px" value="<?php echo $fetch['email'];?>"/> <?php echo $emailErr; ?>
<br>
<input type="submit" name="submit" value="Modify"/>
</form>
<?php
}
?>
最佳答案
试试这个代码
$query_results = mysql_query("SELECT id, fname, lname, email FROM register WHERE id='$id'") or die(mysql_error());
$result_set=mysql_query($query_results);
$fetch=mysql_fetch_array($result_set);
删除代码中的 while 循环,因为查询返回特定记录。
关于php - 更新数据时获取特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43449046/