|
|
|
| Использую для получения данных о полях таблицы функцию mysql_fetch_field():
<?php
/* получаем данные о колонке */
$i = 0;
while ($i < mysql_num_fields($result)) {
echo "Information for column $i:<br />\n";
$meta = mysql_fetch_field($result, $i);
echo "<pre>
blob: $meta->blob
max_length: $meta->max_length
multiple_key: $meta->multiple_key
name: $meta->name
not_null: $meta->not_null
numeric: $meta->numeric
primary_key: $meta->primary_key
table: $meta->table
type: $meta->type
default: $meta->def
unique_key: $meta->unique_key
unsigned: $meta->unsigned
zerofill: $meta->zerofill
</pre>";
$i++;
}
mysql_free_result($result);
?>
$meta->def - почему-то всегда пустой (phpMyAdmin показывает default значения)
Подскажите пожалуйста, как правильно извлечь значение поля по-умолчанию? | |
|
|
|
|
|
|
|
для: allatone
(29.04.2008 в 12:55)
| | Справился сам. Проблема решается использованием функции mysql_list_fields для взятия списка колонок таблицы вместо простого запроса SELECT. Пример:
$mysql_result = mysql_list_fields($dbname,"pt-".$table)
or die (mysql_error());
// Fetch the column data
while ($column_data = mysql_fetch_field ($mysql_result)) {
// Display the column name
// Display the column name
echo '<b>', $column_data->name, '</b>';
// Show every property of the column that is set
foreach (get_object_vars ($column_data) as $key => $value) {
if ($value && $key != 'name') {
echo "<br>$key: $value";
}
}
echo "<br />";
}
|
| |
|
|
|