下面是我正在运行的以下代码。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参考。