mysqli(a,b,c,d)->query(sql)->fetch_assoc() 究竟是如何工作的? (How exactly does mysqli(a,b,c,d)->query(sql)->fetch_assoc() work?)


問題描述

mysqli(a,b,c,d)‑>query(sql)‑>fetch_assoc() 究竟是如何工作的? (How exactly does mysqli(a,b,c,d)‑>query(sql)‑>fetch_assoc() work?)

我是 php 和 mysqli 的新手,並且一直在嘗試了解這些內置函數是如何工作的。我已閱讀文檔和許多教程/示例。

我有類似的東西:

$conn = new mysqli(vars); <br />
$sql = "Select * from Users where name ='$name'";

$result = $conn‑>query($sql);
$pass = result‑>fetch_assoc()['Pass'];
//check password stuff

工作正常,但是如果我嘗試使用 $result‑>fetch_assoc()['ID'] 它返回空值。如果我交換 ID 和 Pass 的順序,則 id 返回並且 pass 返回 null。

我不明白為什麼會這樣。我認為(這顯然是錯誤的)結果應該存儲整行(它確實如此),然後當我獲取 assoc 時,我應該只是從行中提取數據。但是,當我獲取 assoc 時,它似乎覆蓋了結果。這是怎麼回事?


參考解法

方法 1:

Every time you call fetch_assoc(), it fetches the next row. There'll presumably only be one user with a specific name, so the result of the second fetch_assoc() call will be null.

Store the value of $result‑>fetch_assoc() and you can do what you want with it afterwards.

$user = $result‑>fetch_assoc();

echo $user['ID'];
echo $user['Pass'];

(by Tylerceejayoz)

參考文件

  1. How exactly does mysqli(a,b,c,d)‑>query(sql)‑>fetch_assoc() work? (CC BY‑SA 2.5/3.0/4.0)

#fetch #mysqli #PHP






相關問題

mysql fetch 中的 $row 是什麼類型的變量? (What kind of variable is $row from a mysql fetch?)

如何在 PHP 中使用 bind_params 正確獲取數據到數組 (How to correctly fetch data to array with bind_params in PHP)

使用 JavaMail 加速電子郵件檢索 (Speed up email retrieval with JavaMail)

使用 eclipselink 從多個表中獲取數據 (Fetch data from multiple tables using eclipselink)

如何在 Webassembly 中獲取 JSON 文件 (How to Fetch a JSON file in Webassembly)

mysqli(a,b,c,d)->query(sql)->fetch_assoc() 究竟是如何工作的? (How exactly does mysqli(a,b,c,d)->query(sql)->fetch_assoc() work?)

如何在 .map 中返回異步函數? (How do I make an asynchronous function return in .map?)

如何僅在響應中的 onclick 事件後映射 json 列表? (How to map a json list only after an onclick event in react?)

在第二個 API 中使用來自第一個 API 的信息 - React (Using information from the first API in the second one - React)

使用 Jest 測試框架調用 fetch(url) 時如何根據 url 模擬變量響應? (How to mock variable responses based on the url when fetch(url) is called using the Jest testing framework?)

函數不返回對像以供 .then 使用 - 但能夠 console.log 對象,並明確返回它 (Function not returning object for .then to work with - but able to console.log the object, and am explicitly returning it)

fetch api - 400 加載資源失敗 (fetch api - 400 failed to load resource)







留言討論