fetch_row
تابع fetch_row ردیف «نتیجه (Result)» را به «آرایه شمارشی (Indexed Array)» می دهد. یعنی ستون ها با اندیس 0، 1، 2 قابل دسترسی اند. مثل کارتی که خانه هایش شماره دارد و هر خانه یک مقدار است.
تعریف ساده و کاربرد
fetch_row یا mysqli_fetch_row یک ردیف را می گیرد و آرایه می دهد. ترتیب فیلدها مهم است. چون با اندیس عددی صدا می زنیم.
نمونه کد شیءگرا (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";
if ($result = $mysqli->query($sql)) {
while ($row = $result->fetch_row()) {
printf("%s (%s)\n", $row[0], $row[1]);
}
$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";
if ($result = mysqli_query($con, $sql)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s (%s)\n", $row[0], $row[1]);
}
mysqli_free_result($result);
}
mysqli_close($con);
?>
چه زمانی از fetch_row استفاده کنم؟
وقتی فقط ترتیب ستون ها مهم است، fetch_row ساده و سریع است. اما اگر نام ها مهم اند، fetch_assoc بهتر است.
گام های عملی سریع
- اتصال بده و خطا را بررسی کن.
- کوئری SELECT را اجرا کن.
- با حلقه، fetch_row را صدا بزن.
- با اندیس ها مقادیر را بخوان.
- منابع را آزاد کن و ببند.
نکته: اگر هم اندیسی هم اسمی می خواهی، از fetch_array استفاده کن.
هشدار: تغییر ترتیب ستون ها در SELECT، اندیس ها را عوض می کند. کد را هماهنگ نگه دار.
جمع بندی سریع
- fetch_row آرایه شمارشی می دهد.
- اندیس 0 اولین ستون است.
- ترتیب فیلدها بسیار مهم است.
- برای نام ستون ها، assoc بزن.
- بعد از کار، منابع را آزاد کن.
fetch_row را تمرین کن و با دیتاست واقعی تست بزن.