جستجوی فیلد (field_seek)
با «جستجوی فیلد (field_seek)» می توانی مکان نمای فیلدها را جابه جا کنی. «مکان نما (Cursor)» مثل انگشت اشاره است که روی ستون ها حرکت می کند. سپس با fetch_field اطلاعات همان ستون را می گیری.
تعریف و کاربرد ساده
تابع field_seek یا mysqli_field_seek، مکان نمای فیلد را روی شماره دلخواه می برد. سپس با fetch_field، نام ستون، جدول و طول بیشینه را می خوانیم. این کار برای گزارش های دقیق خیلی کمک می کند.
نمونه کد شیءگرا (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)) {
$result->field_seek(1);
$fieldinfo = $result->fetch_field();
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)) {
mysqli_field_seek($result, 1);
$fieldinfo = mysqli_fetch_field($result);
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 را اجرا کن.
- با field_seek مکان نما را جابه جا کن.
- با fetch_field اطلاعات ستون را بگیر.
- منابع را آزاد کن و اتصال را ببند.
نکته: شماره گذاری فیلدها از صفر شروع می شود. بنابراین ستون دوم عدد 1 است.
هشدار: قبل از field_seek باید نتیجه معتبر داشته باشی. همچنین اگر ستون وجود نداشته باشد، شکست می خوری.
مطالب مرتبط
برای شمارش ستون ها از تعداد فیلدها (field_count) استفاده کن. همچنین برای دریافت همه اطلاعات ستون ها یک جا، سراغ fetch_fields برو. اگر فقط یک ستون خاص می خواهی، fetch_field مناسب است. این ها کنار «جستجوی فیلد (field_seek)» یک تیم عالی می سازند.
جمع بندی سریع
- field_seek مکان نمای فیلدها را جابه جا می کند.
- بعدش با fetch_field جزئیات ستون را بگیر.
- شماره ستون ها از صفر شروع می شود.
- اول نتیجه معتبر داشته باش.