【问题标题】:MySQL PHP Querying and Listing as TableMySQL PHP 查询并列出为表
【发布时间】:2012-12-02 18:34:09
【问题描述】:

我正在尝试用 PHP 制作一个简单的证券交易所应用程序,并拥有一个完全可以工作的基于会话的登录系统。现在我在列出用户在表格中拥有的股票时遇到问题。当我在 Navicat 中运行我在 PHP 代码中所做的确切查询时,查询返回所需的结果,但 PHP 不会使用该信息来填充表。在我实现提取股票信息所需的 YQL 代码之前,当前值中的 0 是一个占位符。我有一个屏幕截图,显示了查看我正在谈论的内容所需的所有内容:

我的查询PHP代码在这里:

echo "Welcome to your portfolio overview. Here you can view many of your statistics.<br><br><b>Balance:</b> " . $balance . "<br><b>Debt:</b> " . $debt . "<br>";
$sql2 = "SELECT * FROM `trades` WHERE buyerid=$uid";
$result2 = mysql_query($sql2);
echo "<table border=2 cellpadding=5>";
echo "<tr><td><b>Symbol</b></td><td><b>Purchase Price</b></td><td><b>Current Value</b></td></tr>";
while($row2 = mysql_fetch_array($result2));
{
    echo "<tr><td>" . $row2['identifier'] ."</td><td>" . $row2['purchaseprice'] . "</td><td>" . 0 . "</td></tr>";
}
echo "</table>";

【问题讨论】:

  • 你确定你的$uid 变量是正确的吗?您是否显示了$sql2 变量以确保您的查询是正确的? var_dump($result2) 显示什么?
  • 我尝试在页面中显示 $uid,它显示为 1,这是我想要的,因为 zgillis 是用户 ID 1。我将尝试 var_dump($result2)。
  • 它说'resource(5) of type (mysql result)'
  • 好的,这意味着您的查询正在运行。在 while() 循环中,var_dump($row2) 返回什么?
  • 肯定会使用正确的数据库,因为这就是用户 ID 为 1 以及页面如何知道用户帐户名称的方式。它返回:'bool(false)'

标签: php mysql database yql stock


【解决方案1】:

while 条件后面的分号错误:

while($row2 = mysql_fetch_array($result2));
                                          ^ -- remove this

使用这个分号,你循环一个空语句直到你的结果集用完,然后你执行包含在你的大括号中的 echo 语句($row2 现在为 false),而不管之前的 while 循环。

【讨论】:

    【解决方案2】:

    第 6 行:

    while($row2 = mysql_fetch_array($result2));
    

    必须

    while($row2 = mysql_fetch_array($result2))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-29
      • 1970-01-01
      • 2019-01-03
      • 2010-09-24
      • 1970-01-01
      • 2013-07-31
      • 2012-07-08
      相关资源
      最近更新 更多