一、什麼是mysqli_fetch_all
mysqli_fetch_all() 函數從結果集中取得所有行作為關聯數組、數字數組或二者兼有。mysqli_fetch_all() 函數啟動不支持的緩衝區。在調用本函數之前您需要調用mysqli_store_result() 或 mysqli_use_result()。
二、mysqli_fetch_all的語法
mysqli_fetch_all ( mysqli_result $result , int $resulttype = MYSQLI_NUM ) : mixed
$result:mysqli_query函數的返回值
$resulttype:指定返回結果集類型,可選值有MYSQLI_ASSOC(返回關聯數組)、MYSQLI_NUM(返回數字索引數組)、MYSQLI_BOTH(返回同時包含數字索引和關聯數組),默認為MYSQLI_NUM。
三、mysqli_fetch_all的返回值
mysqli_fetch_all() 函數返回一個包含所有選定行的數組。
數組的結構取決於使用二進制或文本類型返回每列值的方式。
返回二進制時,數組中的每個子數組包括底層二進制數據的副本。返迴文本時,數組中的每個子數組包括每列的字符串表示形式。
四、mysqli_fetch_all的應用場景
mysqli_fetch_all可用於從MySQL數據庫中讀取數據並將其存儲在PHP中,以便後續的數據處理和操作。比如進行數據分析、數據可視化等。
五、mysqli_fetch_all的使用示例
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3 OFFSET 2";
if ($result = $mysqli->query($query)) {
/* fetch associative array */
$assocArray = mysqli_fetch_all($result, MYSQLI_ASSOC);
print_r($assocArray);
/* fetch numeric array */
$numericArray = mysqli_fetch_all($result, MYSQLI_NUM);
print_r($numericArray);
/* fetch associative and numeric array */
$assocAndNumericArray = mysqli_fetch_all($result, MYSQLI_BOTH);
print_r($assocAndNumericArray);
/* free result set */
$result->free();
}
/* close connection */
$mysqli->close();
六、mysqli_fetch_all的注意事項
1、在調用mysqli_fetch_all()函數之前,必須先調用mysqli_store_result()或mysqli_use_result()。
2、當從數據庫中讀取大量數據時,使用$resulttype參數為MYSQLI_ASSOC的mysqli_fetch_all函數將會消耗大量的內存,因此,建議避免將大量數據存儲在該函數返回的數組中。
3、mysqli_fetch_all函數返回的數組屬性與mysqli_result對象的屬性有關,因此,當mysqli_result對象的屬性發生變化時,mysqli_fetch_all函數返回的數組也會發生變化。
七、小結
mysqli_fetch_all是一個方便的函數,能夠從MySQL數據庫中獲取數據並以數組的形式返回,使得數據的處理更加靈活方便。使用時需要注意,特別是在讀取大量數據時,需要消耗大量的內存。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/195440.html
微信掃一掃
支付寶掃一掃