mysql_field_type

(PHP 4, PHP 5)

mysql_field_typeGet the type of the specified field in a result

Увага

This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:

Опис

string mysql_field_type ( resource $result , int $field_offset )

mysql_field_type() is similar to the mysql_field_name() function. The arguments are identical, but the field type is returned instead.

Параметри

result

The result resource that is being evaluated. This result comes from a call to mysql_query().

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Значення, що повертаються

The returned field type will be one of "int", "real", "string", "blob", and others as detailed in the » MySQL documentation.

Приклади

Приклад #1 mysql_field_type() example

<?php
mysql_connect
("localhost""mysql_username""mysql_password");
mysql_select_db("mysql");
$result mysql_query("SELECT * FROM func");
$fields mysql_num_fields($result);
$rows   mysql_num_rows($result);
$table  mysql_field_table($result0);
echo 
"Your '" $table "' table has " $fields " fields and " $rows " record(s)\n";
echo 
"The table has the following fields:\n";
for (
$i=0$i $fields$i++) {
    
$type  mysql_field_type($result$i);
    
$name  mysql_field_name($result$i);
    
$len   mysql_field_len($result$i);
    
$flags mysql_field_flags($result$i);
    echo 
$type " " $name " " $len " " $flags "\n";
}
mysql_free_result($result);
mysql_close();
?>

Наведений вище приклад виведе щось подібне до:

Your 'func' table has 4 fields and 1 record(s)
The table has the following fields:
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

Примітки

Зауваження:

Для зворотньої сумісності, можна використовувати наступний застарівший псевдонім: mysql_fieldtype()

Прогляньте Також

add a note add a note

User Contributed Notes 6 notes

up
3
swalif_mesa at hotmail dot com
20 years ago
Hmm for the previous comment, note that SHOW FIELDS is an alias of SHOW COLUMNS. Very useful if you need to search the mysql-documentation. Here is the link anyway...
http://www.mysql.com/doc/en/SHOW_DATABASE_INFO.html
up
2
fusionstream at gmail dot com
17 years ago
krang at krang dot org dot uk
Condensed version of what KRANG said.

To get info on the MYSQL field type, use this code

<?
$result = mysql_query("SHOW FIELDS FROM db_name");

$i = 1;
while ($row = mysql_fetch_array($result)) { //go through one field at a time
  echo "Field $i: ";
  print_r($row) //display all information about A field which can be accessed thru the "$row" array.
  $i++;
}
?>

Will display something like:
Field 1: Array ( [Field] => SN [Type] => mediumint(8) unsigned [Null] => [Key] => PRI [Default] => [Extra] => auto_increment ) , SN, mediumint(8) unsigned
Field 2: Array ( [Field] => ENTITY_ID [Type] => varchar(20) [Null] => [Key] => [Default] => [Extra] => ) , ENTITY_ID, varchar(20)
up
0
c dot futterlieb at bluewin dot ch
17 years ago
Additional to the note below:
If you're using the "SHOW FIELDS" syntax, be sure that you're adding the table name instead of the db name in the "FROM" parameter:

<?php
$result
= mysql_query("SHOW FIELDS FROM table");
?>

Also possible:

<?php
$result
= mysql_query("SHOW FIELDS FROM table.db");
?>

or this:

<?php
$result
= mysql_query("DESCRIBE table");
?>
http://dev.mysql.com/doc/refman/5.1/en/describe.html
up
-1
fred at dinkler dot com
17 years ago
In MySQL 4.1.x, the four TEXT types (TINYTEXT, TEXT, MEDIUMTEXT, and LONGTEXT) return 'blob" as field types, not "string".
up
-2
mariob at menta dot net
20 years ago
For version 4.3.4, types returned are:

STRING, VAR_STRING: string
TINY, SHORT, LONG, LONGLONG, INT24: int
FLOAT, DOUBLE, DECIMAL: real
TIMESTAMP: timestamp
YEAR: year
DATE: date
TIME: time
DATETIME: datetime
TINY_BLOB, MEDIUM_BLOB, LONG_BLOB, BLOB: blob
NULL: null
Any other: unknown
up
-5
krang at krang dot org dot uk
22 years ago
The field type returns what PHP classifies the data found in the field, not how it is stored in the database; use the following example to retrieve the MySQL information about the field....

$USERNAME = '';
$PASSWORD = '';

$DATABASE = '';
$TABLE_NAME = '';

mysql_connect('localhost', $USERNAME, $PASSWORD)
    or die ("Could not connect");

$result = mysql_query("SHOW FIELDS FROM $DATABASE.$TABLE_NAME");

$i = 0;

while ($row = mysql_fetch_array($result)) {
  echo $row['Field'] . ' ' . $row['Type'];
}
To Top