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