簡體   English   中英

PHP / MySQL:獲取一個結果

[英]PHP/MySQL: fetch one result

這是我的數據庫:

數據庫

這是查詢:

選擇*來自用戶

現在,當我這樣做時:

$query = $connection->query($_GET['query']); // SELECT * FROM users
print_r($query->fetch_assoc());

我得到這個作為輸出:

數組([id] => 3 [username] => karel)

為什么不輸出ID 4和用戶名ccscs?

當我一會兒循環:

while循環

while($row = $query->fetch_assoc()){
    print_r($row);
}

這是因為fetch_assoc()僅獲取一行。

要獲得每一行,您可以這樣操作:

while($row = $query->fetch_assoc()){
   print_r($row);
}

發生這種情況是因為您沒有對查詢進行任何排序,因此它會自動獲得第一條記錄。 如果您想返回最后一條記錄,可以按id desc進行排序,如下所示

SELECT * FROM users ORDER BY id DESC

如果您需要檢索所有記錄,則需要循環拋出記錄

while($row = $query->fetch_assoc())
{
    print_r($row);
}

根據新的操作信息,我不會獲取兩次,但如下

$fields = array();
while($row = $query->fetch_assoc())
{
    print_r($row);
    $fields[] = $row;
}

fetch_assoc()從結果集中檢索一行。 看這里

mysqli_result :: fetch_assoc-mysqli_fetch_assoc —獲取結果行作為關聯數組

您應該使用這樣的東西:

while($row = $query->fetch_assoc()){
   print_r($row);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM