warning : extract() expects parameter 1 to be array, boolean

simonweb
Invité n'ayant pas de compte PHPfrance

16 juil. 2010, 08:28

Bonjour,

J'ai fait une "double boucle" afin d'alimenter des pages liées à une base de données mysql. Je recopie le code sur chaque page concernées (pas encore mis en "fonction") autant cela fonctionne très bien sur la première page ou j'ai mis cela en place autant j'ai un message Warning sur la seconde page, j'ai beau relire le code je ne trouve pas le problème, d'autant que cette erreur n'empêche nullement l'affichage "conforme" de la page.
// insertion boucle onglet
$reqong="SELECT * FROM onglets WHERE id_ongl='".$ongl."' AND num_page='".$page."'";
$resong=mysql_querl'y($reqong) or die("probleme extraction onglet");
$ligneong=mysql_fetch_array($resong);// or die(mysql_error());
//var_dump($ligneong);
extract($ligneong);
$t_ongl=$ongl_court;
$des_ongl=$ongl_deta;


l'erreur à lieu au niveau de extract($ligneong).
Merci d'avance

Eléphant du PHP | 422 Messages

16 juil. 2010, 09:36

hello

remet le or die(mysql_error());
et le var_dump (supprime les //)

et poste le résultat


++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

simonweb
Invité n'ayant pas de compte PHPfrance

16 juil. 2010, 09:45

donc après avoir fait ce que vous avez demandez voici le résultat :

array(8) { [0]=> string(1) "4" ["num_page"]=> string(1) "4" [1]=> string(1) "2" ["id_ongl"]=> string(1) "2" [2]=> string(1) "2" ["ongl_court"]=> string(1) "2" [3]=> string(1) "2" ["ongl_deta"]=> string(1) "2" } array(8) { [0]=> string(1) "4" ["num_page"]=> string(1) "4" [1]=> string(1) "3" ["id_ongl"]=> string(1) "3" [2]=> string(1) "3" ["ongl_court"]=> string(1) "3" [3]=> string(1) "3" ["ongl_deta"]=> string(1) "3" } array(8) { [0]=> string(1) "4" ["num_page"]=> string(1) "4" [1]=> string(1) "4" ["id_ongl"]=> string(1) "4" [2]=> string(1) "4" ["ongl_court"]=> string(1) "4" [3]=> string(1) "4" ["ongl_deta"]=> string(1) "4" } array(8) { [0]=> string(1) "4" ["num_page"]=> string(1) "4" [1]=> string(1) "5" ["id_ongl"]=> string(1) "5" [2]=> string(1) "5" ["ongl_court"]=> string(1) "5" [3]=> string(1) "5" ["ongl_deta"]=> string(1) "5" } array(8) { [0]=> string(1) "4" ["num_page"]=> string(1) "4" [1]=> string(1) "6" ["id_ongl"]=> string(1) "6" [2]=> string(1) "6" ["ongl_court"]=> string(1) "6" [3]=> string(1) "6" ["ongl_deta"]=> string(1) "6" } array(8) { [0]=> string(1) "4" ["num_page"]=> string(1) "4" [1]=> string(1) "7" ["id_ongl"]=> string(1) "7" [2]=> string(1) "7" ["ongl_court"]=> string(1) "7" [3]=> string(1) "7" ["ongl_deta"]=> string(1) "7" } array(8) { [0]=> string(1) "4" ["num_page"]=> string(1) "4" [1]=> string(1) "8" ["id_ongl"]=> string(1) "8" [2]=> string(1) "8" ["ongl_court"]=> string(1) "8" [3]=> string(1) "8" ["ongl_deta"]=> string(1) "8" }

merci

Eléphant du PHP | 445 Messages

16 juil. 2010, 09:49

Salut,

Simple question, ne vaudrait-il mieux pas utiliser mysql_fetch_assoc() lors de l'utilisation d'extract() ?
LLDC
Ulti

simonweb
Invité n'ayant pas de compte PHPfrance

16 juil. 2010, 09:58

Merci pour la réponse je vais essayer.

Peux tu me dire comment cela devrait modifier mon code je vais tenter sans voir mais au cas ou lol.

Manu

Eléphant du PHP | 445 Messages

16 juil. 2010, 10:02

Simplement en remplaçant mysql_fetch_array() par mysql_fetch_assoc().
Je ne sais pas comment extract() réagit avec les index numériques (puisque tu ne peux pas nommer une variable $4 par exemple)

Je ne pense pas que ça corrigera ton problème, mais c'est mieux à mon avis ^^'
LLDC
Ulti