(PHP 4, PHP 5)
mysql_field_type — Retourne le type d'une colonne MySQL spécifique
Alternatives suggérées
L'utilisation de cette extension est déconseillée. A la place, l'extension MySQLi ou PDO_MySQL devrait être utilisée. Voir aussi le guide MySQL : choisir une API ainsi que la FAQ associée pour plus d'informations. Les alternatives à cette fonction incluent :
- mysqli_fetch_field_direct() [type]
- PDOStatement::getColumnMeta() [driver:decl_type] ou [pdo_type]
$result
, int $field_offset
)mysql_field_type() est similaire à la fonction mysql_field_name(). Les arguments sont identiques mais c'est le type de la colonne qui est retourné.
result
La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().
field_offset
La position numérique du champ.
field_offset
commence à 0. Si
field_offset
n'existe pas, une alerte
E_WARNING
sera également
générée.
Le type du champ retourné peut être : "int", "real", "string", "blob" ou d'autres, comme détaillé » dans la documentation MySQL.
Exemple #1 Exemple avec 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 "Votre table '" . $table . "' dispose de " . $fields . " colonnes et " . $rows . " ligne(s)\n";
echo "Les colonnes sont les suivantes :\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();
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
Votre table 'func' dispose de 4 colonnes et 1 ligne(s) Les colonnes sont les suivantes : string name 64 not_null primary_key binary int ret 1 not_null string dl 128 not_null string type 9 not_null enum
Note:
Pour des raisons de compatibilité ascendante, l'alias obsolète suivant peut être utilisé : mysql_fieldtype()