php中的更新问题
我的代码有什么问题?我可以显示数据库中的文本,但更新不起作用 index.phpphp中的更新问题,php,Php,我的代码有什么问题?我可以显示数据库中的文本,但更新不起作用 index.php $i=0; while ($i < $num) { $first=mysql_result($result,$i,"FirstName"); $last=mysql_result($result,$i,"LastName"); $age=mysql_result($result,$i,"Age"); echo "<b>$first $last</b&g
$i=0;
while ($i < $num) {
$first=mysql_result($result,$i,"FirstName");
$last=mysql_result($result,$i,"LastName");
$age=mysql_result($result,$i,"Age");
echo "<b>$first $last</b><br>Age: $age<br>";
$i++;
}
$query="SELECT * FROM persons WHERE personID='$id'";
$resulta=mysql_query($query);
$list=mysql_numrows($resulta);
$i=0;
while ($i < $list) {
$first=mysql_result($resulta,$i,"FirstName");
$last=mysql_result($resulta,$i,"LastName");
$age=mysql_result($resulta,$i,"Age");
++$i;
}
?>
<form action="update.php">
<input type="hidden" name="ud_id" value="<?php echo "$id"; ?>">
First Name: <input type="text" name="ud_first" value="<?php echo "$first"?>"><br>
Last Name: <input type="text" name="ud_last" value="<?php echo "$last"?>"><br>
Age: <input type="text" name="ud_age" value="<?php echo "$age"?>"><br>
<input type="Submit" value="Update">
</form>
$i=0;
while ($i < $list)
{
$id =mysql_result($resulta,$i,"id");
$first=mysql_result($resulta,$i,"FirstName");
$last=mysql_result($resulta,$i,"LastName");
$age=mysql_result($resulta,$i,"Age");
++$i;
}
$i=0;
而($i<$num){
$first=mysql_result($result,$i,“FirstName”);
$last=mysql_result($result,$i,“LastName”);
$age=mysql_result($result,$i,“age”);
回显“$first$last
年龄:$Age
”;
$i++;
}
$query=“从personID=“$id”的人员中选择*;
$resulta=mysql\u查询($query);
$list=mysql\u numrows($resulta);
$i=0;
而($i<$list){
$first=mysql_result($resulta,$i,“FirstName”);
$last=mysql_result($resulta,$i,“LastName”);
$age=mysql_结果($resulta,$i,“age”);
++$i;
}
?>
我想问题是
所以你不能使用$ud\u id
你必须使用$\u POST['ud\u id']
HTML:
我认为您唯一忘记的是在while函数中获取id,以及在update.php中获取需要使用$\u GET的id
我希望这能给你一个小小的开始
对于index.php
$i=0;
while ($i < $list)
{
$id =mysql_result($resulta,$i,"id");
$first=mysql_result($resulta,$i,"FirstName");
$last=mysql_result($resulta,$i,"LastName");
$age=mysql_result($resulta,$i,"Age");
++$i;
}
执行查询时,您没有执行任何错误检查。开始添加一些;另请查看$query
的内容。有关如何添加错误检查的信息,请参阅。重要的一点是:永远不要在远程计算机上运行此类代码!你的代码打开漏洞!谢谢你的建议,现在我正在练习php的基础知识。mysql\u real\u escape\u string是php/mysql的基础。
$ud_id = mysql_real_escape_string($_POST['ud_id']);
...
$i=0;
while ($i < $list)
{
$id =mysql_result($resulta,$i,"id");
$first=mysql_result($resulta,$i,"FirstName");
$last=mysql_result($resulta,$i,"LastName");
$age=mysql_result($resulta,$i,"Age");
++$i;
}
include_once('config.php');
$ud_id = $_GET['id'];
$query="UPDATE persons SET FirstName='$ud_first', LastName='$ud_last', Age='$ud_age' WHERE personID='$ud_id'";
if(!$query)
{
die('Could not delete data: ' . mysql_error());
}
mysql_close($link);