downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mysqli_result::fetch_fields> <mysqli_result::fetch_field_direct
[edit] Last updated: Sat, 07 Jan 2012

view this page in

mysqli_result::fetch_field

mysqli_fetch_field

(PHP 5)

mysqli_result::fetch_field -- mysqli_fetch_fieldReturns the next field in the result set

설명

객체 기반 형식

object mysqli_result::fetch_field ( void )

절차식 형식

object mysqli_fetch_field ( mysqli_result $result )

Returns the definition of one column of a result set as an object. Call this function repeatedly to retrieve information about all columns in the result set.

인수

result

순차 형식 전용: mysqli_query()mysqli_store_result()mysqli_use_result()가 반환한 결과셋 식별자.

반환값

Returns an object which contains field definition information or FALSE if no field information is available.

Object properties
Property Description
name The name of the column
orgname Original column name if an alias was specified
table The name of the table this field belongs to (if not calculated)
orgtable Original table name if an alias was specified
def Reserved for default value, currently always ""
db Database (since PHP 5.3.6)
catalog The catalog name, always "def" (since PHP 5.3.6)
max_length The maximum width of the field for the result set.
length The width of the field, as specified in the table definition.
charsetnr The character set number for the field.
flags An integer representing the bit-flags for the field.
type The data type used for this field
decimals The number of decimals used (for integer fields)

예제

Example #1 객체 기반 형식

<?php
$mysqli 
= new mysqli("localhost""my_user""my_password""world");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

$query "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if (
$result $mysqli->query($query)) {

    
/* Get field information for all columns */
    
while ($finfo $result->fetch_field()) {

        
printf("Name:     %s\n"$finfo->name);
        
printf("Table:    %s\n"$finfo->table);
        
printf("max. Len: %d\n"$finfo->max_length);
        
printf("Flags:    %d\n"$finfo->flags);
        
printf("Type:     %d\n\n"$finfo->type);
    }
    
$result->close();
}

/* close connection */
$mysqli->close();
?>

Example #2 절차식 형식

<?php
$link 
mysqli_connect("localhost""my_user""my_password""world");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

$query "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if (
$result mysqli_query($link$query)) {

    
/* Get field information for all fields */
    
while ($finfo mysqli_fetch_field($result)) {

        
printf("Name:     %s\n"$finfo->name);
        
printf("Table:    %s\n"$finfo->table);
        
printf("max. Len: %d\n"$finfo->max_length);
        
printf("Flags:    %d\n"$finfo->flags);
        
printf("Type:     %d\n\n"$finfo->type);
    }
    
mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

위 예제들의 출력:

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

참고



add a note add a note User Contributed Notes mysqli_result::fetch_field
Anonymous 16-Feb-2012 08:20
The constants for the TYPE number returned by fetch_field are enumerated here (MYSQLI_TYPE_*):
http://php.net/manual/en/mysqli.constants.php
iansoko at hotmail dot com 06-Oct-2011 08:24
here are the data types that correspond to the TYPE number returned by fetch_field.

thought i would post this here since i couldn't find the info elsewhere.

numerics
-------------
BIT: 16
TINYINT: 1
BOOL: 1
SMALLINT: 2
MEDIUMINT: 9
INTEGER: 3
BIGINT: 8
SERIAL: 8
FLOAT: 4
DOUBLE: 5
DECIMAL: 246
NUMERIC: 246
FIXED: 246

dates
------------
DATE: 10
DATETIME: 12
TIMESTAMP: 7
TIME: 11
YEAR: 13

strings & binary
------------
CHAR: 254
VARCHAR: 253
ENUM: 254
SET: 254
BINARY: 254
VARBINARY: 253
TINYBLOB: 252
BLOB: 252
MEDIUMBLOB: 252
TINYTEXT: 252
TEXT: 252
MEDIUMTEXT: 252
LONGTEXT: 252
ragtag at hotmail dot com 17-Sep-2008 05:16
The flags used by MySql are:                                                                                                                                           
       NOT_NULL_FLAG = 1                                                                             
       PRI_KEY_FLAG = 2                                                                              
       UNIQUE_KEY_FLAG = 4                                                                           
       BLOB_FLAG = 16                                                                                
       UNSIGNED_FLAG = 32                                                                            
       ZEROFILL_FLAG = 64                                                                            
       BINARY_FLAG = 128                                                                             
       ENUM_FLAG = 256                                                                               
       AUTO_INCREMENT_FLAG = 512                                                                     
       TIMESTAMP_FLAG = 1024                                                                         
       SET_FLAG = 2048                                                                               
       NUM_FLAG = 32768                                                                              
       PART_KEY_FLAG = 16384                                                                         
       GROUP_FLAG = 32768                                                                            
       UNIQUE_FLAG = 65536                                                                           

To test if a flag is set you can use & like so:
<?php
$meta
= $mysqli_result_object->fetch_field();
if (
$meta->flags & 4) {
  echo
'Unique key flag is set';
}
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites