fetch_assoc
تابع fetch_assoc یک «ردیف نتیجه» را برمی گرداند. خروجی آن «آرایه انجمنی (Associative Array)» است. یعنی کلیدها همان نام ستون ها هستند. مثل لیست حضور کلاس که ستون نام و سن دارد.
تعریف کوتاه و کاربرد
fetch_assoc فقط یک ردیف می آورد. سپس مقدار هر ستون را با نام ستون می گیری. نام ستون ها حساس به حروف هستند. بنابراین دقت کن.
نمونه کد شیءگرا (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);
$row = $result->fetch_assoc();
printf("%s (%s)\n", $row["Lastname"], $row["Age"]);
$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);
$row = mysqli_fetch_assoc($result);
printf("%s (%s)\n", $row["Lastname"], $row["Age"]);
mysqli_free_result($result);
mysqli_close($con);
?>
گام های عملی سریع
- اتصال بساز و خطا را بررسی کن.
- کوئری SELECT را اجرا کن.
- یک ردیف با fetch_assoc بگیر.
- مقادیر را با نام ستون بخوان.
- منابع را آزاد کن و ببند.
نکته: اگر همه ردیف ها را می خواهی، از fetch_all استفاده کن.
هشدار: نام ستون ها حساس به حروف هستند. پس تایپ دقیق مهم است.
برای کلید عددی یا هر دو نوع کلید، به fetch_array سر بزن.
جمع بندی سریع
- fetch_assoc فقط یک ردیف می دهد.
- کلیدها نام ستون ها هستند.
- حروف در نام ستون مهم است.
- پس از کار، free_result را فراموش نکن.
- برای همه ردیف ها، fetch_all بهتر است.