mysql_fetch_array只显示一行

时间:2013-08-20 07:57:47

标签: html sql

在更新数据库后,我在数据库中显示数据时遇到了一些问题。这是我正在使用的代码,是否有任何错误或原因,它只返回一行?

    $sql = "SELECT * FROM report";        
    $myData = mysql_query($sql,$con);

    while ($row = mysql_fetch_array($myData)){
        $data[] = array(
        $id = $row['id'],
        $case_number = $row['case_number'],
        $contents = $row['contents'],
            );

    }

    ?>
    <section>
    <form action="sqlstatement.php" method="post">
        <input type="text" name="case_number" value=" <?php echo $case_number; ?>" />
        <input type="text" name="contents" value=" <?php echo $contents; ?>" />
        <input type="hidden" name="id" value=" <?php echo $id; ?>" />
        <input type="submit" name="edit" value="edit"/>
        <input type="submit" name="delete" value="delete"/>

        <?php echo $case_number; ?>
    </form>

谢谢。

2 个答案:

答案 0 :(得分:1)

您获取while loop中的所有行,但不使用任何该数据。您只是一遍又一遍地覆盖相同的变量。

只有当循环结束时,表格才会输出一次,并带有这些变量的当前值。 结果是您只看到查询结果的最后一行。

答案 1 :(得分:0)

变量$ case_number不是数组。将变量更改为数组,然后它接受多个值。

您当前的代码仅显示while循环中的最后一个值。