一、什麼是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-hk/n/195440.html