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

search for in the

mysql_free_result> <mysql_field_table
Last updated: Fri, 27 Jun 2008

view this page in

mysql_field_type

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_field_type — Ottiene il tipo del campo specificato in un risultato

Descrizione

string mysql_field_type ( resource $risultato , int $indice_campo )

mysql_field_type() è simile alla funzione mysql_field_name(). Gli argomenti sono identici, ma viene restituito il tipo del campo. Il tipo del campo sarà uno dei seguenti: "int", "real", "string", "blob" ed altri come dettagliati nella » Documentazione di MySQL.

Example #1 Tipi di campo MySQL

<?php
    mysql_connect
("localhost""utente_mysql""password_mysql");
    
mysql_select_db("mysql");
    
$risultato mysql_query("SELECT * FROM func");
    
$campi mysql_num_fields($risultato);
    
$righe   mysql_num_rows($risultato);
    
$tabella mysql_field_table($risultato0);
    echo 
"La tabella'".$table."' ha ".$fields." campi e ".$righe." record\n";
    echo 
"La tabella ha i seguenti campi:\n";
    for (
$i=0$i $campi$i++) {
        
$tipo mysql_field_type($risultato$i);
        
$nome mysql_field_name($risultato$i);
        
$lung mysql_field_len($risultato$i);
        
$flag mysql_field_flags($risultato$i);
        echo 
$tipo." ".$nome." ".$lung." ".$flag."\n";
    }
    
mysql_free_result($risultato);
    
mysql_close();
?>

L'esempio riportato sopra dovrebbe produrre il seguente output:

La tabella 'func' ha 4 campi e 1 record
La tabella ha i seguenti campi:
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

Per motivi di compatibilità con il passato, anche mysql_fieldtype() può essere usata. Questo comunque è sconsigliato.



mysql_free_result> <mysql_field_table
Last updated: Fri, 27 Jun 2008
 
add a note add a note User Contributed Notes
mysql_field_type
fred at dinkler dot com
08-Feb-2007 08:52
In MySQL 4.1.x, the four TEXT types (TINYTEXT, TEXT, MEDIUMTEXT, and LONGTEXT) return 'blob" as field types, not "string".
c dot futterlieb at bluewin dot ch
10-Dec-2006 03:06
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
fusionstream at gmail dot com
17-Sep-2006 06:19
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)
18-Feb-2006 08:52
This function is broken in 4.4.1 (works fine in 4.3.X).
http://bugs.php.net/35536
harald at weinreichs dot de
06-Jun-2005 07:02
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.
mariob at menta dot net
07-Nov-2003 09:21
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
swalif_mesa at hotmail dot com
10-Jul-2003 07:38
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
krang at krang dot org dot uk
10-Mar-2002 03:13
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'];
}

mysql_free_result> <mysql_field_table
Last updated: Fri, 27 Jun 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites