mysql_field_type

(PHP 4, PHP 5)

mysql_field_typeВозвращает тип указанного поля из результата запроса

Описание

string mysql_field_type ( resource $result , int $field_offset )

Функция mysql_field_type() аналогична функции mysql_field_name(). Аргументы одинаковы, но вместо имени колонки возвращается её тип.

Список параметров

result

Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().

field_offset

Числовое смещение поля. field_offset начинается с 0. Если field_offset не существует, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Поля могут быть следующих типов: "int", "real", "string", "blob" и других, подробно описанных » документации MySQL.

Примеры

Пример #1 Пример использования mysql_field_type()

<?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 
"Ваша таблица '" $table "' содержит " $fields " поля и " $rows " запись\n";
echo 
"В таблице есть следующие поля:\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();
?>

Результатом выполнения данного примера будет что-то подобное:

Ваша таблица 'func' содержит 4 поля и 1 запись
В таблице есть следующие поля:
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()

Смотрите также

  • mysql_field_name() - Возвращает название указанной колонки результата запроса
  • mysql_field_len() - Возвращает длину указанного поля

Коментарии

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'];
}
2002-03-10 08:13:16
http://php5.kiev.ua/manual/ru/function.mysql-field-type.html
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
2003-07-10 01:38:25
http://php5.kiev.ua/manual/ru/function.mysql-field-type.html
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
2003-11-07 14:21:24
http://php5.kiev.ua/manual/ru/function.mysql-field-type.html
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)
2006-09-17 12:19:22
http://php5.kiev.ua/manual/ru/function.mysql-field-type.html
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
2006-12-10 08:06:52
http://php5.kiev.ua/manual/ru/function.mysql-field-type.html
In MySQL 4.1.x, the four TEXT types (TINYTEXT, TEXT, MEDIUMTEXT, and LONGTEXT) return 'blob" as field types, not "string".
2007-02-08 13:52:37
http://php5.kiev.ua/manual/ru/function.mysql-field-type.html

    Поддержать сайт на родительском проекте КГБ