Bonsoir.
J’affiche un récapitulatif des tables avec leurs colonnes d’une de mes base de données, à l’ancienne, comme ceci
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
23
24
25
26
27
28
29
30
31
32
33
34
 
<?php 
$host="localhost";
$user="root";
$passwd="";
$link = @mysql_connect($host,$user,$passwd);
	if (!$link)
	{
	echo "<h2>Erreur du serveur. Essayez de vous connecter plus tard.</h2>";
	die;
	}
mysql_connect($host,$user,$passwd);
 
$linkdb = @mysql_select_db ("matable");
	if (!$linkdb)
	{
	echo "<h2>Erreur de connexion a la BDD. Essayez de vous connecter plus tard.</h2>";
	die;
	}	
 
mysql_select_db ("matable");$db_name = 'matable';
mysql_select_db($db_name);
$result = mysql_query( 'SHOW TABLES' );
   while ($row = mysql_fetch_row($result))
{
echo "<br /><b>$row[0]</b><br />";
$fields = mysql_list_fields("matable", $row[0] ); 
$columns = mysql_num_fields($fields); 
for ($i = 0; $i < $columns; $i++)
{
echo mysql_field_name($fields, $i) . "<br />"; 
}
}
 ?>
Et cela fonctionne parfaitement.

Par contre, voulant le faire en PDO, je n’y arrive pas… (L’âge sans doute)
La connexion parait correcte, mais le reste, malgré mes recherches, je ne trouve pas de solutions.
Il faut dire que j'essaie depuis peu à comprendre PDO, mais les vieilles habitudes.......

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
23
24
25
26
 
<?php 
//connexion PDO
try
{
	$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
	$bdd = new PDO('mysql:host=localhost;dbname=matable;charset=utf8', 'root', '', $pdo_options);
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
 
// A partir ici je ne trouve pas équivalent en PDO
$result = mysql_query('SHOW TABLES');
   while ($row = mysql_fetch_row($result))
{
echo "<br /><b>$row[0]</b><br />";
$fields = mysql_list_fields("matable", $row[0] ); 
$columns = mysql_num_fields($fields); 
for ($i = 0; $i < $columns; $i++)
{
echo mysql_field_name($fields, $i) . "<br />"; 
}
}
 ?>
Pouvez-vous m’aider à passer ce cap !
Merci.