(PHP 4, PHP 5)
mysql_list_fields — MySQL テーブルのフィールドのリストを得る
この関数は PHP 5.4.0 で非推奨になり、PHP 7.0.0 で MySQL 拡張モジュール 全体とあわせて削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 を参照ください。 この関数の代替として、これらが使えます。
SHOW COLUMNS FROM sometable$database_name, string $table_name, resource $link_identifier = NULL): resource指定された名前のテーブルについての情報を取得します。
この関数は非推奨です。かわりに
mysql_query() を利用して SHOW COLUMNS FROM
table [LIKE 'name'] 文を発行することを推奨します。
database_nameクエリの対象となるデータベース名。
table_nameクエリの対象となるテーブル名。
link_identifierMySQL 接続。指定されない場合、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()