Connaitre le nom des colonnes de ma table
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:
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:
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:
1 2 3 4
| while ($row = mysql_field_name($res))
{
echo "{$row[0]}";
} |
Mais ça me donne ce message d'erreur :
Citation:
Warning: Wrong parameter count for mysql_field_name() in C:\wamp\www\EntreeDeDonnees.php on line 179
J'ai aussi testé ce code :
Code:
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 :
Citation:
Impossible d'exécuter la requête : No database selected
J'en déduis que le problème vient de cette ligne :
Code:
$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