【问题标题】:how do I know the data type of database field using PHP,.?我如何知道使用 PHP 的数据库字段的数据类型,。?
【发布时间】:2011-12-26 16:51:27
【问题描述】:

我想知道如何使用 PHP 获取 SQL 数据库中每个字段的数据类型; 我想使用这种数据类型在 SOLR 中创建一些文档。

例如:

if (datatype == int) then "[field_name] + _i".

所以,如果我有字段 bedrooms 并且数据类型是 integer,那么在 SOLR 中我会将此字段保存为 bedrooms_i

【问题讨论】:

  • 为什么你的数据库字段的名称是基于数据类型的?
  • Steve Lewis:是的,我用过MySql Oli:我觉得不是这样的,我会用它来做SOLR,所以solr中的字段名是根据数据库中的数据类型来的。。谢谢你的回答,。

标签: php solr sqldatatypes


【解决方案1】:

您可以使用mysql_fetch_field() 检索有关字段的元数据。

mysql_connect('localhost','user','password');
mysql_select_db('database');

$sql = "SELECT * FROM  your_table";
$result = mysql_query($sql);    

$i = 0;
while ($i < mysql_num_fields($result))
{
    $meta = mysql_fetch_field($result, $i);   
    echo "<pre>".print_r($meta,TRUE)."</pre>";
    $i++;
}

这里$meta-&gt;type会给你字段类型。

【讨论】:

  • 可以用这个来查询结果,.?因为,我已经加入了多个表,然后我需要通过该查询获得的所有字段的数据类型。谢谢你的回答,。
  • 嘿,谢谢 Vikk,它的工作,。对不起,我不能投票给你的答案,我的名声还不够,。 ^_^
【解决方案2】:

为了争论,我假设是 MySQL。

SELECT COLUMN_NAME, DATA_TYPE, {ETC...}
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'your_database' AND
    TABLE_NAME = 'your_table'

【讨论】:

  • 我可以用这个来查询结果吗??因为,我已经加入了多个表,然后我需要通过该查询获得的所有字段的数据类型。谢谢你的回答,。
【解决方案3】:

在 MySQL 中,您可以使用SHOW COLUMNS 获取表中所有字段/列的名称、数据类型等。

【讨论】:

  • 还有其他功能可以做到这一点吗?因为在我的查询中,我加入了更多的表,所以如果有任何函数可以从查询结果中获取数据类型,它将对我有很大帮助。顺便说一句,谢谢你的回答,。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-07
  • 1970-01-01
  • 1970-01-01
  • 2012-05-09
  • 2015-07-23
  • 2021-08-24
相关资源
最近更新 更多