mysqli_result :: field_seek는 PHP의 mysqli_result 클래스의 메소드이며, 지정된 열 인덱스 위치에 대한 필드 포인터를 찾는 데 사용됩니다. 이 기능은 주로 필드 메타 데이터 (필드 이름, 유형 등)를 가로 지르거나 액세스해야 할 때 주로 사용되며 종종 mysqli_fetch_field () 또는 mysqli_fetch_field_direct () 와 같은 함수와 함께 사용됩니다.
bool mysqli_result::field_seek(int $index)
$ index : 이것은 유일한 매개 변수입니다. 유형은 정수이며, 타겟팅하려는 필드의 인덱스를 나타냅니다. 인덱스는 0 에서 시작합니다.
성공에 대해 사실을 반환하고 실패에 대해서는 거짓을 반환합니다.
매개 변수 $ index 는 필드 인덱스이며 결과 세트의 순차적 필드 수를 나타냅니다. 예를 들어, 다음과 같이 SQL을 실행하는 경우.
SELECT id, name, email FROM users
하지만:
$ index = 0 해당 필드 ID
$ index = 1 해당 필드 이름
$ index = 2 해당 필드 이메일
Field_seek ($ index) 메소드는 필드 정보를 반환하지 않지만 내부 필드 포인터를 지정된 위치로 이동합니다. 그런 다음 mysqli_fetch_field () 를 통해 필드 정보를 얻을 수 있습니다.
다음은 Field_seek ()를 사용하여 특정 필드에 대한 메타 정보를 얻는 방법을 보여주는 완전한 사용 예입니다.
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
if ($mysqli->connect_error) {
die("연결이 실패했습니다: " . $mysqli->connect_error);
}
$query = "SELECT id, username, email FROM users";
$result = $mysqli->query($query);
if ($result) {
// 인덱스를 사용하고 싶다고 가정 해 봅시다 1 의 분야(지금 바로 username)정보
$result->field_seek(1);
$field_info = $result->fetch_field();
echo "필드 이름: " . $field_info->name . "<br>";
echo "필드 유형: " . $field_info->type . "<br>";
echo "최대 길이: " . $field_info->max_length . "<br>";
} else {
echo "쿼리가 실패했습니다: " . $mysqli->error;
}
$mysqli->close();
?>
출력은 다음과 같습니다.
필드 이름: username
필드 유형: 253
최대 길이: 30
설명 :
필드 유형은 mysqli_type_* 상수에 해당하는 정수 상수입니다.
max_length 는 결과 세트 에서이 필드 값의 최대 길이입니다.
동적으로 테이블 헤더 생성 : 데이터베이스 필드를 기반으로 HTML 테이블 헤더를 동적으로 생성 해야하는 경우 Field_Seek ()를 사용하여 필드 메타 정보를 순서대로 찾을 수 있습니다.
필드 권한 판결 : 사용자가 필드 이름 및 유형에 따라 특정 필드를보고 편집 할 권한이 있는지 확인하십시오.
ORM 또는 프레임 워크 구축 기본 : 사용자 정의 ORM 시스템을 구현할 때는 저수준 액세스 및 캐시 필드 정보가 필요합니다. 이 기능은 매우 유용합니다.
Field_seek ()는 필드 포인터의 위치를 변경하고 필드 정보를 반환하지 않습니다. fetch_field () 와 함께 사용해야합니다.
인덱싱은 총 필드 수를 초과하면 함수가 False를 반환합니다.
삽입 , 업데이트 또는 삭제 작업이 아닌 선택 쿼리 후 결과 세트에 적용 할 수 있습니다.