php 取得结果集中字段名称,PHP 取得结果集中指定字段的类型

用户评论:

fred at dinkler dot com (2007-02-08 11:52:37)

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 (2006-12-10 06:06:52)

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:

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

Also possible:

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

or this:

$result=mysql_query("DESCRIBE table");?>http://dev.mysql.com/doc/refman/5.1/en/describe.html

fusionstream at gmail dot com (2006-09-17 09:19:22)

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-02-18 11:52:37)

This function is broken in 4.4.1 (works fine in 4.3.X).

http://bugs.php.net/35536

harald at weinreichs dot de (2005-06-06 10:02:53)

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 (2003-11-07 12:21:24)

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 (2003-07-09 22:38:25)

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 (2002-03-10 06:13:16)

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'];

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值