未定义的索引通知:为什么会发生这种情况,我该如何解决?

时间:2013-04-21 03:10:03

标签: php mysql

我的php代码有问题让我疯了。我在这一行收到了一个未定义的索引通知:echo " <input type=\"text\" name=\"column3\" value=\"".$row['hca']."\"/>\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";
}

人们可以提供的任何提示都会有所帮助。

感谢, 约翰

1 个答案:

答案 0 :(得分:1)

检查数据库并确保字段名称与数组的索引($row)匹配。

您的表格应包含以下所有字段:tfidfnamelnamehhafiletfid

此外,转义和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 ?>