# PHP > PHP & Base de donnes >  Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given

## Thibcal

Bonjour,

J'ai un problme sur une page de suivi de commandes. Je m'explique. Je dois choisir une infrastructure et une date de dbut, une date de fin.
J'ai 5 infrastructures, les 4 premires fonctionnent mais la dernire m'affiche une erreur (celle du titre).

Je suis en FPDF et le but de mes lignes et d'afficher le suivi en PDF.

Tout d'abord je ne comprends pas pourquoi pour les 4 premires cela fonctionne et pas pour la dernire alors que rien ne change, mais je comprends encore moins pour cela m'affiche cette erreur alors que a excute le code quand mme et que mon PDF se remplit.

Nanmoins, j'aimerais quand mme virer cette erreur, qu'elle ne s'affiche plus sur ma page.

Je ne vais vous mettre que le code PHP basique sans le code FPDF car le problme est sur mon mysqli_fetch_array et que le FPDF fonctionne trs bien.

Bien entendu les variables utilises ont toutes t dclares avant, inutile de les remettre ici.

L'erreur s'affiche sur la ligne 11 du code ci-dessous.



```

```

Cordialement.

----------


## -Rpass-

```
while($ligne2 = mysqli_fetch_array($requete2)){
```

l'erreur est ici, soit tu fais



```

```

soit



```

```

----------


## Thibcal

Pour la premire solution, cela n'affiche exactement la mme erreur mais pour le mysqli_fetch_row.

De plus comme cit plus haut je ne comprends pas pourquoi cela fonctionne sur 4 choix et pas sur celui-l.

Pour la deuxime solution, comment fonctionne un foreach ? Je n'en ai jamais utilis. Comme un for normal ?

----------


## -Rpass-

a te met la mme erreur car il faut le faire pour les 2 boucles while bien entendu  ::lol:: 
pour le foreach c'est pas la doc qui manque je te laisse faire une petite recherche google  ::):

----------


## sabotage

Cela signifie que ta requte n'a pas fonctionn.
Contrle tes erreurs mysqli.

----------


## Thibcal

> a te met la mme erreur car il faut le faire pour les 2 boucles while bien entendu 
> pour le foreach c'est pas la doc qui manque je te laisse faire une petite recherche google


En utilisant le row et en l'adaptant  toutes mes lignes, cela me met toujours la mme erreur.
Idem pour le foreach, je commande  dsesprer. ^^




> Cela signifie que ta requte n'a pas fonctionn.
> Contrle tes erreurs mysqli.


C'est  dire ? Parce que je pense que ma requte fonctionne car mon PDF se met  jour. Les instructions se font, je rcupre les bonnes valeurs, mais cette erreur s'affiche tout de mme et SEULEMENT pour cette option l. C'est a que je trouve bizarre.

----------


## -Rpass-

autant pour moi j'ai dis n'importe quoi fetch_array et fetch_row fonctionne pareil ^^ on dirait qu'il passe une fois de trop dans ta boucle d'ou peut tre l'erreur qui est affich  la fin du parcours ....

----------


## Thibcal

Tu veux dire qu'en gros il s'arrterait  4 tours et que le 5me serait de trop ?
Possible mais bizarre.. et chiant. ^^

----------


## -Rpass-

```

```

mysqli_query peut renvoyer false ou un jeu de rsultat. Dans ton cas a a du te renvoyer faux  un moment ce qui entraine l'erreur avec "boolean given".
Il faut toujours vrifier qu'il n'y ait pas d'erreur avant de traiter le rsultat
Pour enlever l'erreur tu peux mettre un test avant le while :



```

```

a devrait marcher ^^

----------


## sabotage

Oui enfin une requte n'est pas cens produire une erreur.
L'intercepter c'est bien, la corriger c'est mieux.

----------


## Thibcal

Ah merci a a fonctionn ! Cela ne m'affiche plus l'erreur !

Sabotage je sais bien, mais je ne vois aucune solution, je ne comprends mme pas l'erreur car les instructions se faisaient quand mme, si tu as une solution je suis preneur.

----------


## sabotage

Comme je t'ai dit, il faut afficher les erreurs mysqli.

----------


## Thibcal

Et on fait a  l'aide de quoi ?

----------


## sabotage

Premier rsultat d'une recherche "mysqli erreur" :
http://php.net/manual/fr/mysqli.error.php

Tu as galement le fichier de log mysql directement qui peut t'indiquer les erreurs dans les requteS.

----------


## Thibcal

J'ai essay mais a ne m'avance pas.
Je place ce post en rsolu, merci beaucoup !

----------


## -Rpass-

> Oui enfin une requte n'est pas cens produire une erreur.
> L'intercepter c'est bien, la corriger c'est mieux.


exact, la solution ne fait que cacher l'erreur ^^

----------

