0

这是我正在运行的以下代码。database.php 包含一个名为 fetch_array() 的函数。fetch_array() 在其函数中包含 mysql_fetch_array() 并返回 mysql_fetch_array() 的结果。Database.php 包含一个数据库类,其中包含其他功能。这段代码可能无法正常工作有什么原因吗?我想获取表用户中每条记录的 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>
4

2 回答 2

2

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

代替:

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

和:

$result = $database->query("SELECT id, username FROM users;");
于 2012-07-19T18:00:11.373 回答
1

您的 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参考。

于 2012-07-19T18:22:19.567 回答