PHP WHILE循环神秘地不产生任何输出

Fra*_*ank 0 php mysql loops while-loop

代码优先,解释后:

$result = mysql_query("INSERT INTO messages (...) VALUES (...)") or die(mysql_error());
            $rowID = mysql_insert_id();         
            if($result) {                                   
                $query = mysql_query("
                SELECT ... LIMIT 1");

                while ($row = mysql_fetch_array($query)) :
                    $message_id = stripslashes($row["m_id"]);
                    $message_postedby = stripslashes($row["u_name"]);
                    $message_text = stripslashes($row["m_text"]);
                    $date = date('F d, Y \a\t g:iA', strtotime($row["m_date"]));
                    ?>
                <div class="wall_message" id="<?= $message_id ?>">
                    <div class="author"><?= $message_postedby ?></div>
                    <div class="message"><?= $message_text ?></div>
                    <div class="date"><?= $date ?></div>
                </div>
                <?php
                endwhile;
                } ?>
Run Code Online (Sandbox Code Playgroud)

我在做什么:

  1. 将新行插入数据库
  2. 插入行的商店ID在变量$ rowID中
  3. 如果insert成功,则查询数据库以检索该行以及来自其他表的任何其他相关信息
  4. 将行中的值存储在变量中
  5. 打印包含该信息的div

所有这些都是从jQuery函数调用的,所以我希望我的所有HTML都会被返回,但WHILE循环中没有返回任何内容.我可以在它之前和之后回复文本,我看到它很好,但是循环内部没有任何内容可以打印,我只是看不到我的错误.没有任何错误.

谢谢.

dtb*_*rne 6

mysql_fetch_array() 不接受查询,需要资源(结果).

$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
Run Code Online (Sandbox Code Playgroud)

如果你只是从结果中访问关联键,那么你也应该使用它mysql_fetch_assoc().