Salut tout le monde,
Je programme pour la première fois en PHP pour mon travail de fin d'étude.
J'ai recherché sur le net une fonction qui me permettrait de récupérer le nom des champs d'un certaine table MYSQL.
J'ai trouvé ceci qui fonctionne bien :
La seule chose qui me dérangeait, c'est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <?php /* Supposons que la table utilisée contienne trois champs : * user_id * username * password. */ $link = @mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('Impossible de se connecter au serveur MySQL : ' . mysql_error()); } $dbname = 'mydb'; $db_selected = mysql_select_db($dbname, $link); if (!$db_selected) { die("Impossible de se connecter à la base $dbname: " . mysql_error()); } $res = mysql_query('select * from users', $link); echo mysql_field_name($res, 0) . "\n"; echo mysql_field_name($res, 2); ?>
Ce qui ne me convient pas, c'est qu'il faut à la limite connaître le nombre de champ pour l'utiliser alors que le but de mon application est de générer des zones de texte par rapport au nombre de champ de la table.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 echo mysql_field_name($res, 0) . "\n"; echo mysql_field_name($res, 2);
J'ai donc essayé de faire ceci :
Mais ça me donne ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 while ($row = mysql_field_name($res)) { echo "{$row[0]}"; }
J'ai aussi testé ce code :Warning: Wrong parameter count for mysql_field_name() in C:\wamp\www\EntreeDeDonnees.php on line 179
et là, il me dit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php $dbname = 'deliberations'; if (!mysql_connect('localhost', 'root', 'mdp')) { echo 'Impossible de se connecter à MySQL'; exit; } $result = mysql_query("SHOW COLUMNS FROM $dbname"); if (!$result) { echo 'Impossible d\'exécuter la requête : ' . mysql_error(); exit; } if (mysql_num_rows($result) > 0) { while ($row = mysql_fetch_assoc($result)) { print_r($row); } } ?>
J'en déduis que le problème vient de cette ligne :Impossible d'exécuter la requête : No database selected
Comme je vous l'ai dis, je débute en PHP, ne m'en veuillez donc pas trop
Code : Sélectionner tout - Visualiser dans une fenêtre à part $result = mysql_query("SHOW COLUMNS FROM $dbname");
Merci d'avance pour votre aide très appréciée.
beegees
Partager