English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
mysqli_fetch_field() 함수는 결과 집합의 다음 필드를 반환합니다
PHP 결과 객체(mysqli_result 클래스에 속합니다)는 SELECT 또는 DESCRIBE 또는 EXPLAIN 쿼리로 반환된 MySQL 결과를 나타냅니다.
mysqli_fetch_field 함수의 역할은: 결과 객체를 파라미터로 받아 다음 열을 객체 형태로 반환하는 것입니다./필드 정의 정보
mysqli_fetch_field($result);
순번 | 파라미터 및 설명 |
---|---|
1 | result(必需) 이는 결과 객체를 나타내는 식별자입니다. |
PHP mysqli_fetch_field() 함수는 주어진 결과에서 필드 정의 정보를 포함하는 객체를 반환합니다. 정보가 없으면 이 함수는 반환FALSE。
返回的对象包含以下属性:
name - 列名
orgname - 原始的列名(如果指定了别名)
table - 表名
orgtable - 原始的表名(如果指定了别名)
def - 保留作为默认值,当前总是为 ""
db - 数据库(在 PHP 5.3.6 中新增的)
catalog - 目录名称,总是为 "def"(自 PHP 5.3.6 起)
max_length - 字段的最大宽度
length - 在表定义中指定的字段宽度
charsetnr - 字段的字符集号
flags - 字段的位标志
type - 用于字段的数据类型
decimals - 整数字段,小数点后的位数
此函数最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。
以下示例演示了mysqli_fetch_field()函数的使用(过程式风格)-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("테이블 생성.....\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')"); print("插入记录.....\n"); //检索表的内容 $res = mysqli_query($con, "SELECT * FROM myplayers"); //字段获取 while($info = mysqli_fetch_field($res)){ //현재 필드 $currentfield = mysqli_field_tell($res); print("현재 필드: ".$currentfield."\n"); print("필드 이름: ".$info->name."\n"); print("필드 타입: ".$info->type."\n"); } //문장을 종료 mysqli_free_result($res); //연결을 닫기 mysqli_close($con); ?>
출력 결과
테이블 생성..... 데이터 입력..... 현재 필드: 1 필드 이름: ID 필드 타입: 3 현재 필드: 2 필드 이름: First_Name 필드 타입: 253 현재 필드: 3 필드 이름: Last_Name 필드 타입: 253 현재 필드: 4 필드 이름: Place_Of_Birth 필드 타입: 253 현재 필드: 5 필드 이름: Country 필드 타입: 253
객체 지향 스타일에서 이 함수의 문법은$result-> fetch_field;。이 함수는 객체 지향 스타일에서의 예제입니다;
<?php //연결을 설정 $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)"); $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)"); print("테이블 생성.....\n"); $stmt = $con -> prepare( "SELECT * FROM Test WHERE Name in(?, ?)"); $stmt -> bind_param("ss", $name1, $name2); $name1 = 'Raju'; $name2 = 'Rahman'; //문장을 실행 $stmt->execute(); //검색 결과 $result = $stmt->get_result(); //현재 필드 while($info = $result->fetch_field()){ $field = $result->current_field; print("현재 필드: ".$field."\n"); print("필드 이름: ".$info->name."\n"); } //문장을 종료 $stmt->close(); //연결을 닫기 $con->close(); ?>