2012-07-19 13 views
0

以下是我正在運行的代碼。 database.php包含一個名爲fetch_array()的函數。 fetch_array()在其函數中包含mysql_fetch_array(),並返回mysql_fetch_array()的結果。 Database.php包含一個包含其他函數的數據庫類。是否有任何理由說明此代碼可能無法正常工作?我想獲取表格用戶中每條記錄的ID和用戶名。來自mysql_fetch_array()的我的循環不輸出任何答案。有什麼建議麼?

<?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> 
+0

函數是錯誤的,它是mysql_fetch_array – 2012-07-19 18:07:44

+0

函數是mysql_fetch_array。它被稱爲fetch_array,因爲我在database.php – tdelaney18 2012-07-19 18:09:43

+1

@ tdelaney18中做了這個函數的名字,在你評論我下調後! – Adi 2012-07-19 18:10:17

回答

2

你只獲取id,不username。因此,讀取時不會得到username的輸出。

替換:

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

有了:

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

你的SELECT查詢語句是錯誤的。您目前只返回所選每行的'id'列。當你嘗試echo $ 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參考。

相關問題