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.
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 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);
Et là, c'est le drame !
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);
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.
Partager