使用mysql_fetch_assoc和echo查询不会返回结果

时间:2013-10-18 08:04:09

标签: php

我的PHP文件出现问题。 首先,这是我的代码:

<?php

$users = mysql_fetch_assoc(mysql_query("SELECT u.*, ui.*, SUM(`Beach Ball` + `Sun Blocker`) AS items FROM user AS u INNER JOIN user_item AS ui ON u.user_id = ui.user_id WHERE u.user_id = '".$_SESSION['id']."' GROUP BY u.user_id"));

echo "<table><tr><td>User</td><td>Day of Trip</td><td>Items</td></tr>";

while($list=mysql_fetch_array($users)){

    echo "<tr><td>" .$list['user']. "</td><td>" .$list['trip']. "</td>"
    echo "<td>".$list['item']."</td></tr>";
}
echo "</table>";
?>

我的数据库就像:

用户:Jack / Suzy / Steve

旅行:周日/周日/周一

项目:杰克(沙滩球和太阳阻挡者= 1)/苏西(太阳阻挡者= 1 |沙滩球= 0)/史蒂夫(沙滩球= 2 /太阳阻挡者= 1)


关于版本:

PHP 5.3.27 / MySQL 5.5.32

(另外,这是我的代码的一个小例子,全部用荷兰语。)

如果有人能帮助我,我会永远感激。

PS:如果我尝试一个简单的查询,例如:

$users = mysql_query("select * from users")

它将仅列出用户和旅行(因为有关项目的信息在另一个表格中,列出所有项目(超过35个)......

〜X〜

更新1 :(更新了PHP和SQL版本) 此代码适用于免费托管计划(如co.gp或bytehost),但它不适用于付费主机。

1 个答案:

答案 0 :(得分:1)

您已在第1行中提取结果。试试这个

<?php

$users = mysql_query("SELECT u.*, ui.*, SUM(`Beach Ball` + `Sun Blocker`) AS items FROM user AS u INNER JOIN user_item AS ui ON u.user_id = ui.user_id WHERE u.user_id = '".$_SESSION['id']."' GROUP BY u.user_id") or die('error in query execution'); //fire your query

echo "<table><tr><td>User</td><td>Day of Trip</td><td>Items</td></tr>";

while($list=mysql_fetch_assoc($users)){ //use mysql_fetch_assoc here

    echo "<tr><td>" .$list['user']. "</td><td>" .$list['trip']. "</td>"
    echo "<td>".$list['item']."</td></tr>";
}
echo "</table>";
?>

旁注:MySQL_*已弃用PDOMySQLi_*