Bonjour, je réalise une fonction qui puis se me permettre de récupèrer des informations sur un serveur MySQL.

Cette fonction est prévue pour être générique à toutes tables, quelque soit leurs nombre de ligne, ou de champs.

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
 
function test()
{
	$dbhost = 'sql.free.fr';
	$dbname = '******';
	$dbuser = '******';
	$dbpass = '******';
	$dbpfix = 'console';
	mysql_connect($dbhost, $dbuser, $dbpass);
	mysql_select_db($dbname);
	$query = mysql_query('SELECT * FROM `******`.`'.$dbpfix.'_blocks`');
	$result = array();
	$result[] = array('rows' => mysql_num_rows($query),'fiels' => mysql_num_fields($query));
	while($datas = mysql_fetch_row($query))
	{
		$result[] = array($datas[0], $datas[1], $datas[2], $datas[3]);
	}
	return $result;
	mysql_close();
}
$test = test();
print_r($test);
Le code ci-dessus n'est pas générique. Il cible le contenu d'une table en particulier. Il fonctionne très 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
21
22
23
24
25
26
27
28
29
30
 
function test()
{
	$dbhost = 'sql.free.fr';
	$dbname = '******';
	$dbuser = '******';
	$dbpass = '******';
	$dbpfix = 'console';
	mysql_connect($dbhost, $dbuser, $dbpass);
	mysql_select_db($dbname);
	$query = mysql_query('SELECT * FROM `******`.`'.$dbpfix.'_blocks`');
	$result = array();
	$result[] = array('rows' => mysql_num_rows($query),'fiels' => mysql_num_fields($query));
	$a = 1;
	while($datas = mysql_fetch_row($query))
	{
		$result[$a] = array();
		$b = 0;
		while($b = mysql_num_fields($query))
		{
			$result[$a][$b] = $datas[$b];
			$b++;
		}
		$a++;
	}
	return $result;
	mysql_close();
}
$test = test();
print_r($test);
Et là, c'est le drame !
J'ai systématiquement un INTERNAL SERVER ERROR.
J'ai tenté de le retourné dans différent sens, sa ne change rien.

Je ne parviens pas a résoudre si sa vient de la syntaxe, ou si c'est dû à une mauvaise utilisation des fonctions !

D'avance merci pour votre aide.