fetch_fields
تابع fetch_fields «لیست فراداده فیلدها» را می دهد. فراداده (Meta-data) یعنی اطلاعاتِ درباره داده؛ مثل نام ستون و طول. این تابع همه ستون ها را یکجا برمی گرداند. مثل کارنامه ای که مشخصات همه درس ها را نشان می دهد.
تعریف کوتاه و کاربرد
fetch_fields یک آرایه از «شیءها (Objects)» برمی گرداند. هر شیء مشخصات یک ستون است. سپس با یک حلقه می توانیم نام، جدول و بیشینه طول را چاپ کنیم.
نمونه کد شیءگرا (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)) {
$fieldinfo = $result->fetch_fields();
foreach ($fieldinfo as $val) {
printf("Name: %s\n", $val->name);
printf("Table: %s\n", $val->table);
printf("Max. Len: %d\n", $val->max_length);
}
$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)) {
$fieldinfo = mysqli_fetch_fields($result);
foreach ($fieldinfo as $val) {
printf("Name: %s\n", $val->name);
printf("Table: %s\n", $val->table);
printf("Max. Len: %d\n", $val->max_length);
}
mysqli_free_result($result);
}
mysqli_close($con);
?>
گام های عملی سریع
- اتصال بده و خطا را چک کن.
- کوئری SELECT را اجرا کن.
- با fetch_fields آرایه فیلدها را بگیر.
- روی آرایه loop بزن و ویژگی ها را چاپ کن.
- result را آزاد کن و اتصال را ببند.
نکته: اگر فقط یک ستون می خواهی، از fetch_field یا fetch_field_direct استفاده کن.
هشدار: ویژگی ها مثل name و table فقط مشخصات هستند. برای خواندن سطرها از fetch_assoc کمک بگیر.
جمع بندی سریع
- fetch_fields همه ستون ها را یکجا برمی گرداند.
- خروجی، آرایه ای از شیءهای مشخصات ستون است.
- برای گزارش گیری ساختار جدول خیلی مفید است.
- برای یک ستون خاص، fetch_field بهتر است.
- مشخصات فیلدها در MySQLi را به یاد بسپار.