© Éditions Eyrolles
343
chapitre n° 9
Utilisation avec PHP
(root@localhost) [bdsoutou] mysql> select * from avion;
+--------+-----------+----------+-------+
| immat | typeAvion | capacite | compa |
+--------+-----------+----------+-------+
| F-GAFU | A320
|
160 | AF
|
| F-GLFS | A320
|
170 | AF
|
| F-WOWW | A380
|
NULL | AF
|
| F-WTSS | Concorde |
90 | AF
|
+--------+-----------+----------+-------+
q
Le flag vaut 16 387 pour la colonne immat, car cette colonne est une clé primaire
(ajouter 1) et non nulle (ajouter 2), et elle fait partie d’une clé (ici primaire, ajouter
16 384). Ci-après, un extrait du fichier mysql_conf.h. Le flag vaut 16 392 pour la
colonne compa, car elle fait partie d’une clé (ici étrangère, ajouter 16 384), et c’est une clé
étrangère (ajouter 8), etc.
/* Field can't be NULL */
/* Field is part of a primary key */
#define UNIQUE_KEY_FLAG 4
/* Field is part of a unique key */
/* Field is part of a key */
#define BLOB_FLAG
16
/* Field is a blob */
#define UNSIGNED_FLAG
32
/* Field is unsigned */
#define ZEROFILL_FLAG
64
/* Field is zerofill */
#define BINARY_FLAG
128
/* Field is binary
*/
#define ENUM_FLAG
256
/* field is an enum */
#define AUTO_INCREMENT_FLAG 512
/* field is a autoincrement field */
#define TIMESTAMP_FLAG 1024
/* Field is a timestamp */
#define SET_FLAG
2048
/* field is a set */
#define NO_DEFAULT_VALUE_FLAG 4096
/* Field doesn't have default value */
/* Intern; Part of some key */
#define NUM_FLAG
32768
/* Field is num (for clients) */
Fonction mysqli_stmt_result_metadata
Peu de changements par rapport au programme précédent. La fonction mysqli_stmt_
result_metadata suppose qu’on travaille avec un état préparé. Elle sert à affecter un identifiant de résultat qui passe en paramètre de mysqli_fetch_field, comme vu précédemment.
$requete = "SELECT * FROM bdsoutou.Avion";
$ordre
= mysqli_prepare($service,$requete);
if (($res =
) > 0)
{ ...
while ($obj=
)
{ ... print "$obj->name "; ...
#define NOT_NULL_FLAG
1
#define PRI_KEY_FLAG
2
#define MULTIPLE_KEY_FLAG 8
#define PART_KEY_FLAG
16384
mysqli_stmt_result_metadata($ordre)
mysqli_fetch_field($res)
343
chapitre n° 9
Utilisation avec PHP
(root@localhost) [bdsoutou] mysql> select * from avion;
+--------+-----------+----------+-------+
| immat | typeAvion | capacite | compa |
+--------+-----------+----------+-------+
| F-GAFU | A320
|
160 | AF
|
| F-GLFS | A320
|
170 | AF
|
| F-WOWW | A380
|
NULL | AF
|
| F-WTSS | Concorde |
90 | AF
|
+--------+-----------+----------+-------+
q
Le flag vaut 16 387 pour la colonne immat, car cette colonne est une clé primaire
(ajouter 1) et non nulle (ajouter 2), et elle fait partie d’une clé (ici primaire, ajouter
16 384). Ci-après, un extrait du fichier mysql_conf.h. Le flag vaut 16 392 pour la
colonne compa, car elle fait partie d’une clé (ici étrangère, ajouter 16 384), et c’est une clé
étrangère (ajouter 8), etc.
/* Field can't be NULL */
/* Field is part of a primary key */
#define UNIQUE_KEY_FLAG 4
/* Field is part of a unique key */
/* Field is part of a key */
#define BLOB_FLAG
16
/* Field is a blob */
#define UNSIGNED_FLAG
32
/* Field is unsigned */
#define ZEROFILL_FLAG
64
/* Field is zerofill */
#define BINARY_FLAG
128
/* Field is binary
*/
#define ENUM_FLAG
256
/* field is an enum */
#define AUTO_INCREMENT_FLAG 512
/* field is a autoincrement field */
#define TIMESTAMP_FLAG 1024
/* Field is a timestamp */
#define SET_FLAG
2048
/* field is a set */
#define NO_DEFAULT_VALUE_FLAG 4096
/* Field doesn't have default value */
/* Intern; Part of some key */
#define NUM_FLAG
32768
/* Field is num (for clients) */
Fonction mysqli_stmt_result_metadata
Peu de changements par rapport au programme précédent. La fonction mysqli_stmt_
result_metadata suppose qu’on travaille avec un état préparé. Elle sert à affecter un identifiant de résultat qui passe en paramètre de mysqli_fetch_field, comme vu précédemment.
$requete = "SELECT * FROM bdsoutou.Avion";
$ordre
= mysqli_prepare($service,$requete);
if (($res =
) > 0)
{ ...
while ($obj=
)
{ ... print "
#define NOT_NULL_FLAG
1
#define PRI_KEY_FLAG
2
#define MULTIPLE_KEY_FLAG 8
#define PART_KEY_FLAG
16384
mysqli_stmt_result_metadata($ordre)
mysqli_fetch_field($res)
