Php 未定义索引注意:为什么会发生这种情况,我如何修复它?
我的php代码有一个让我发疯的问题。我在这行收到一个未定义的索引通知:Php 未定义索引注意:为什么会发生这种情况,我如何修复它?,php,mysql,Php,Mysql,我的php代码有一个让我发疯的问题。我在这行收到一个未定义的索引通知:echo“\n”。这似乎是一个看似随机的错误。让我困惑的是,显示数据的表单代码与前一行和后一行完全相同,但此代码段会收到错误/通知。最重要的是,数据并没有像应该的那样从数据库中显示出来,即使我在后端查询了数据库,发现数据确实在那里。为什么会发生这种情况?我能做些什么来修复它?我的代码如下: if ($count !== 0) { while($row = mysql_fetch_array($result))
echo“\n”代码>。这似乎是一个看似随机的错误。让我困惑的是,显示数据的表单代码与前一行和后一行完全相同,但此代码段会收到错误/通知。最重要的是,数据并没有像应该的那样从数据库中显示出来,即使我在后端查询了数据库,发现数据确实在那里。为什么会发生这种情况?我能做些什么来修复它?我的代码如下:
if ($count !== 0) {
while($row = mysql_fetch_array($result)) {
echo "<div class=\"addform\"><form method='get' action=\"update.php\">\n";
echo " <input type=\"text\" value=\"".$row['tfid']."\" name=\"column1\">\n";
echo " <input type=\"text\" name=\"column2\" value=\"".$row['fname']."\"/>\n";
echo " <input type=\"text\" name=\"column3\" value=\"".$row['lname']."\"/>\n";
echo " <input type=\"text\" name=\"column3\" value=\"".$row['hha']."\"/>\n"; //there are issues here.
echo " <input type=\"text\" name=\"column5\" value=\"".$row['file']."\"/>\n";
echo " <input type=\"image\" src=\"images/update.png\" alt=\"Update Row\" class=\"update\" title=\"Update Row\">\n";
echo "<a href=\"delete.php?column1=".$row['tfid']."\"><img title='Delete Row' alt=\"Delete\" class='del' src='images/delete.png'/></a></form></div>\n";
}
echo "</table><br />\n";
} else {
echo "<b><center>NO DATA</center></b>\n";
}
if($count!==0){
while($row=mysql\u fetch\u数组($result)){
回音“\n”;
回音“\n”;
回音“\n”;
回音“\n”;
echo“\n”//此处存在问题。
回音“\n”;
回音“\n”;
回音“\n”;
}
回显“
\n”;
}否则{
回显“无数据\n”;
}
人们能提供的任何提示都会有所帮助
谢谢,
John检查数据库,确保字段名称与数组的索引匹配($row
)
您的表应该包含以下所有字段:tfid
,fname
,lname
,hha
,文件和tfid
另外,转义和PHP/echo/HMTL可能会导致视觉噪音,这可能会使您的代码更易于调试:
<?php if ($count !== 0) : ?>
<?php while($row = mysql_fetch_array($result)): ?>
<div class="addform">
<form method="get" action="update.php">
<input type="text" value="<?php echo $row['tfid'] ?>" name="column1">
<input type="text" name="column2" value="<?php echo $row['fname'] ?>"/>
<input type="text" name="column3" value="<?php echo $row['lname'] ?>"/>
<input type="text" name="column3" value="<?php echo $row['hha'] ?>"/>
<input type="text" name="column5" value="<?php echo $row['file'] ?>"/>
<input type="image" src="images/update.png" alt="Update Row" class="update" title="Update Row">;
<a href="delete.php?column1=<?php echo $row['tfid'] ?>">
<img title="Delete Row" alt="Delete" class="del" src="images/delete.png"/>
</a>
</form>
</div>
<?php endwhile ?>
<?php else: ?>
<b><center>NO DATA</center></b>
<?php endif ?>
我在你的代码中没有看到这一行。有两行带有name=“column3”
(在表单中复制名称没有意义),其中一行有$row['lname']
,另一行有$row['hha']
。确保$row
中的索引与从数据库中检索的列匹配。\n
在单引号中不起作用。最好对PHP字符串使用双引号,对HTML属性使用单引号。