PHP中的While循环问题

时间:2010-09-10 22:50:26

标签: php loops while-loop

我的WHILE循环有什么问题吗?

    <?php
        include('header.php');
        $manage = "current_page_item";
        include('nav.php');
        include('sidebar.php');
    ?>
    <div class="primary">
    <br/>
    <?php
    $userId = $_GET['id'];
    echo "<div class=\"item_list\">";
    $sql = "SELECT * FROM user WHERE id = " . intval($userId);
    $result = mysql_query($sql);
    while($item = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        echo "<b>Title: </b>" . $item['item'] . "<br/><b>Email: </b>" . $item['email'] . "<br/>";
        echo "<b>Price: </b>" . $item['price'] . "</b><br/><b>Category: </b>" . $item['category'] . "</b><br/> <b>Extra: </b>" . ($item['extra'] ."</b><br/><b>Date Listed: </b>". $item['date'];
    }
    echo "</div>";
?>
</div>
<?php include('footer.php'); ?>

5 个答案:

答案 0 :(得分:5)

你的错误就在这里。您使用错误的变量名来获取行:

while($userid = mysql_fetch_array($result, MYSQL_ASSOC)){

应该是:

while($item = mysql_fetch_array($result, MYSQL_ASSOC)){

此外,在结束标记}之前的最后一行有一个松散的右括号?>。我不知道你的问题遗留下来的是否是一个孤立的孤儿,或者它确实存在错误。

答案 1 :(得分:2)

除了BoltClock所说的内容和stoosh之外,您还会遇到语法错误:

echo "<b>Price: </b>" . $item['price'] .
     "</b><br/> <b>Category: </b>". $item['category'] . 
     "</b><br/> <b>Extra: </b>". $item['extra'] . 
     "</b><br/><b>Date Listed: </b>". $item['date'];

你有两个没有任何意义的parans,我的赌注导致语法错误。您确实应该将error_reporting设置为E_ALL并将display_errors设置为on以进行开发!它使调试这些东西变得更容易。

<强>更新

要为脚本临时设置,请将其添加到顶部(当然在<?php之后)

error_reporting(E_ALL);
ini_set("display_errors", "on");

答案 2 :(得分:1)

在第二个回声线上,您有一些迷路括号。应该是:

echo "<b>Price: </b>" . $item['price'] . "</b><br/> <b>Category: </b>" . $item['category'] . "</b><br/> <b>Extra: </b>" . $item['extra'] . "</b><br/><b>Date Listed: </b>" . $item['date'];

答案 3 :(得分:0)

删除最后一行的结束}

答案 4 :(得分:0)

好像你错误地命名了变量?

你在while函数参数中传递了$userid,但是你在循环中使用了$item

除非您只发布了一个功能片段,否则您还需要额外的}