|
mysql_field_type
Get the type of the specified field in a result
(PHP 4, PHP 5, PECL mysql:1.0)
Example 1440. mysql_field_type() example<?php The above example will output something similar to: Your 'func' table has 4 fields and 1 record(s) Related Examples ( Source code ) » mysql_field_type Examples ( Source code ) » List Database, Table, and Field Examples ( Source code ) » Get column data type Code Examples / Notes » mysql_field_type18-feb-2006 07:52
This function is broken in 4.4.1 (works fine in 4.3.X). http://bugs.php.net/35536 harald
The note blow seems incomplete/incorrect. For php 4.3 and mysql 4.x the returned values are: CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ENUM, SET: string TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER, BIGINT: int FLOAT, DOUBLE, DECIMAL, NUMERIC: real TIMESTAMP: timestamp YEAR: year DATE: date TIME: time DATETIME: datetime TINYBLOB, MEDIUMBLOB, LONGBLOB, BLOB: blob if mysql-field-type seems to return the wrong values, you may encounter an compatibility problem of mysql, php and the libraries you use. Try reinstalling php and mysql. krang
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']; } ludwigp
Like mysql_fetch_field, this returns the PHP type, not the MySQL type.
fusionstream
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) fred
In MySQL 4.1.x, the four TEXT types (TINYTEXT, TEXT, MEDIUMTEXT, and LONGTEXT) return 'blob" as field types, not "string".
swalif_mesa
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 mariob
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 c dot futterlieb
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 |
Change Languagemysql_affected_rows mysql_change_user mysql_client_encoding mysql_close mysql_connect mysql_create_db mysql_data_seek mysql_db_name mysql_db_query mysql_drop_db mysql_errno mysql_error mysql_escape_string mysql_fetch_array mysql_fetch_assoc mysql_fetch_field mysql_fetch_lengths mysql_fetch_object mysql_fetch_row mysql_field_flags mysql_field_len mysql_field_name mysql_field_seek mysql_field_table mysql_field_type mysql_free_result mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql_insert_id mysql_list_dbs mysql_list_fields mysql_list_processes mysql_list_tables mysql_num_fields mysql_num_rows mysql_pconnect mysql_ping mysql_query mysql_real_escape_string mysql_result mysql_select_db mysql_set_charset mysql_stat mysql_tablename mysql_thread_id mysql_unbuffered_query |