来自mysql_fetch_array()的循环不会输出任何答案.任何建议


My loop from mysql_fetch_array() does not output any answers. Any suggestions?

下面是我正在运行的以下代码。database.php包含一个名为fetch_array()的函数。fetch_array()在其函数中包含mysql_fetch_array),并返回mysql_fetch _array的结果。Database.php包含一个包含其他函数的数据库类。这段代码可能不起作用有什么原因吗?我想得到users表中每个记录的id和用户名。

 <?php
  require_once("database.php");
 ?>
 <html>
 <head>
 </head>
 <body>
 <?php
    global $database;
    echo "hello";
    $result = $database->query("SELECT * FROM users");
    while($row = fetch_array($result))
    {
       echo "ID: $row[id] Name: $row[username] <br />";
    }
 ?>
 </body>
 </html>

您只检索id,而不是username。因此,在获取时不会得到username输出。

替换:

$result = $database->query("SELECT id FROM users;");

带有:

$result = $database->query("SELECT id, username FROM users;");

您的SELECT查询是错误的。您当前只返回所选每一行的"id"列。当您尝试回显$row〔username〕时,很可能会收到不存在数组键的警告。

要解决此问题,请更改此行:

$result = $database->query("SELECT id FROM users;");

$result = $database->query("SELECT id, username FROM users;");

或者,如果您想获得每行的所有列:

$result = $database->query("SELECT * FROM users;");

有关更多信息,请参阅MySQL文档中的SELECT参考。