mysql_list_fields

MySQL テーブルのフィールドのリストを得る

警告

この関数は PHP 5.4.0 で非推奨になり、PHP 7.0.0 で MySQL 拡張モジュール 全体とあわせて削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 を参照ください。 この関数の代替として、これらが使えます。

  • SQL クエリー: SHOW COLUMNS FROM sometable

説明

resource mysql_list_fields(string $database_name, string $table_name, resource $link_identifier = NULL)

指定された名前のテーブルについての情報を取得します。

この関数は非推奨です。かわりに 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

参考

  • mysql_field_flags
  • mysql_info