mysql_field_type

結果において指定したフィールドの型を取得する

警告

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

  • mysqli_fetch_field_direct [type]
  • PDOStatement::getColumnMeta [driver:decl_type] あるいは [pdo_type]

説明

string mysql_field_type(resource $result, int $field_offset)

mysql_field_type は、 mysql_field_name 関数に似ています。 引数は同じですが、この関数ではフィールドの型が返されます。

パラメータ

result

評価された結果 リソース。この結果は、mysql_query のコールにより得られたものです。

field_offset

数値フィールドオフセット。field_offset0 から始まります。field_offset が存在しない場合、E_WARNING レベルのエラーが発行されます。

戻り値

返されるフィールド型は "int", "real", "string", "blob", そして その他 » MySQL ドキュメント で詳細が規定されている型のうちのひとつになります。

例1 mysql_field_type の例

<?php
mysql_connect("localhost", "mysql_username", "mysql_password");
mysql_select_db("mysql");
$result = mysql_query("SELECT * FROM func");
$fields = mysql_num_fields($result);
$rows   = mysql_num_rows($result);
$table  = mysql_field_table($result, 0);
echo "Your '" . $table . "' table has " . $fields . " fields and " . $rows . " record(s)\n";
echo "The table has the following fields:\n";
for ($i=0; $i < $fields; $i++) {
    $type  = mysql_field_type($result, $i);
    $name  = mysql_field_name($result, $i);
    $len   = mysql_field_len($result, $i);
    $flags = mysql_field_flags($result, $i);
    echo $type . " " . $name . " " . $len . " " . $flags . "\n";
}
mysql_free_result($result);
mysql_close();
?>

上の例の出力は、 たとえば以下のようになります。

Your 'func' table has 4 fields and 1 record(s)
The table has the following fields:
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

注意

注意:

下位互換のために、次の非推奨別名を使用してもいいでしょう。 mysql_fieldtype

参考

  • mysql_field_name
  • mysql_field_len