откуда мне знать тип данных поля базы данных с помощью PHP? - PullRequest
0 голосов
/ 11 ноября 2011

Я хочу знать, как я могу получить тип данных каждого поля в базе данных SQL с помощью PHP; Я хочу использовать этот тип данных для создания некоторых документов в SOLR.

Например:

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

Итак, если у меня есть поле bedrooms и тип данных integer, в SOLR я сохраню это поле как bedrooms_i.

Ответы [ 3 ]

2 голосов
/ 11 ноября 2011

Вы можете использовать mysql_fetch_field() для получения метаданных о полях.

<code>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)."
"; $ i ++;}

Здесь $meta->type даст вам тип поля.

0 голосов
/ 11 ноября 2011

Ради аргумента, я предполагаю MySQL.

SELECT COLUMN_NAME, DATA_TYPE, {ETC...}
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'your_database' AND
    TABLE_NAME = 'your_table'
0 голосов
/ 11 ноября 2011

В MySQL вы можете использовать SHOW COLUMN S, чтобы получить имя, тип данных и т. Д. Всех полей / столбцов в таблице.

...