Problème function utilisant mysql
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:
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:
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.