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 :

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);
?>
La seule chose qui me dérangeait, c'est :

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);
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.

J'ai donc essayé de faire ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
while ($row = mysql_field_name($res)) 
	{
		echo "{$row[0]}";
	}
Mais ça me donne ce message d'erreur :

Warning: Wrong parameter count for mysql_field_name() in C:\wamp\www\EntreeDeDonnees.php on line 179
J'ai aussi testé ce code :

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);
   }
}
?>
et là, il me dit :

Impossible d'exécuter la requête : No database selected
J'en déduis que le problème vient de cette ligne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$result = mysql_query("SHOW COLUMNS FROM $dbname");
Comme je vous l'ai dis, je débute en PHP, ne m'en veuillez donc pas trop

Merci d'avance pour votre aide très appréciée.

beegees