我的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'); ?>
答案 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
?
除非您只发布了一个功能片段,否则您还需要额外的}
。