fetch_all
تابع fetch_all همه ردیف ها را یکجا می دهد. «آرایه انجمنی (Associative Array)» یعنی آرایه با کلیدهای نام ستون. همچنین می تواند آرایه عددی بدهد. این مثل دانلود کل نتایج یک باره است.
تعریف کوتاه و نحوه کار
تابع fetch_all در MySQLi، همه ردیف های نتیجه را برمی گرداند. سپس خروجی می تواند انجمنی، عددی، یا هر دو باشد.
نمونه کد شیءگرا (Object Oriented)
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_db");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();
}
$sql = "SELECT Lastname, Age FROM Persons ORDER BY Lastname";
$result = $mysqli->query($sql);
$result->fetch_all(MYSQLI_ASSOC);
$result->free_result();
$mysqli->close();
?>
نمونه کد رویه ای (Procedural)
<?php
$con = mysqli_connect("localhost", "my_user", "my_password", "my_db");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
$sql = "SELECT Lastname, Age FROM Persons ORDER BY Lastname";
$result = mysqli_query($con, $sql);
mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_free_result($result);
mysqli_close($con);
?>
گام های عملی ساده
- اتصال بده و خطای اتصال را بررسی کن.
- کوئری اجرا کن و نتیجه بگیر.
- با fetch_all همه ردیف ها را بردار.
- در پایان، نتیجه را آزاد کن.
نکته: با MYSQLI_ASSOC آرایه انجمنی می گیری. با MYSQLI_NUM آرایه عددی می گیری. با MYSQLI_BOTH هر دو را داری.
برای دریافت تک ردیف ها، صفحه fetch_row را ببین. همچنین برای ترکیبی، fetch_array کاربردی است.
جمع بندی سریع
- fetch_all همه ردیف ها را یکجا می دهد.
- خروجی می تواند انجمنی یا عددی باشد.
- بعد از کار، نتیجه را آزاد کن.
- گزینه ها: MYSQLI_ASSOC، MYSQLI_NUM، MYSQLI_BOTH.