(PHP 4, PHP 5)
mysql_list_fields — MySQL テーブルのフィールドのリストを得る
この関数は PHP 5.4.0 で非推奨になり、PHP 7.0.0 で MySQL 拡張モジュール 全体とあわせて削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 や それに関連する FAQ を参照ください。 この関数の代替として、これらが使えます。
$database_name
, string $table_name
[, resource $link_identifier
= NULL
] ) : resource指定された名前のテーブルについての情報を取得します。
この関数は非推奨です。かわりに mysql_query() を利用して SHOW COLUMNS FROM table [LIKE 'name'] 文を発行することを推奨します。
database_name
クエリの対象となるデータベース名。
table_name
クエリの対象となるテーブル名。
link_identifier
MySQL 接続。
指定されない場合、mysql_connect() により直近にオープンされたリンクが
指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに
mysql_connect() がコールした時と同様にリンクを確立します。
リンクが見付からない、または、確立できない場合、
E_WARNING
レベルのエラーが生成されます。
成功した場合に結果ポインタ resource 、失敗した場合に FALSE
を返します。
返された結果は mysql_field_flags(), mysql_field_len(), mysql_field_name() そして mysql_field_type() で利用可能です。
例1 非推奨である mysql_list_fields() の代替例
<?php
$result = mysql_query("SHOW COLUMNS FROM sometable");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
}
?>
上の例の出力は、 たとえば以下のようになります。
Array ( [Field] => id [Type] => int(7) [Null] => [Key] => PRI [Default] => [Extra] => auto_increment ) Array ( [Field] => email [Type] => varchar(100) [Null] => [Key] => [Default] => [Extra] => )
注意:
下位互換のために、次の非推奨別名を使用してもいいでしょう。 mysql_listfields()