OVH Community, votre nouvel espace communautaire.

mysqli_num_rows() vs mysqli_affected_rows()


pl.lamballais
13/05/2014, 18h39
Bon, je viens de remplacer tous mes appels mysqli_affected_rows() par mysqli_num_rows() quand cela concernait des SELECT.
Difficile de savoir de façon certain si c'est lié, mais je ne constate plus de page avec chargement infini.

Si je trouve des infos là-dessus, confirmant ça, je les mettrais ici.

A++
FL

Gaston_Phone
13/05/2014, 08h31
Curieux.

pl.lamballais
13/05/2014, 04h35
Bonjour,

Si on se référe aux différentes docs qui circulent, il est indiqué que mysqli_affected_rows() fonctionne sur INSERT, UPDATE, DELETE mais aussi sur SELECT et dans ce cas cela donne la même chose que si on utilise mysqli_num_rows(), fonction qui elle ne fonctionne que sur SELECT.

J'aimerais donc savoir si l'un d'entre vous a identifié le problème suivant: lorsqu'un query de type SELECT (même hyper simple genre select * from truc where toto="45") retourne un certain nombre de résultats, alors effectivement, affected_rows et num_rows() fonctionnent() pareil. Mais si le query retourne 0 résultat et qu'on teste avec affected_rows(), de temps en temps ça semble planter le moteur MySQL: le navigateur attend quelque chose, qui ne vient pas et ça tourne indéfiniment.
Si je mets une détection d'erreur sur affected_rows() le SELECT sans résultat retourne bien une erreur, mais sans numéro ni descriptif. Si on ne met pas d'erreur, des fois ça passe, des fois pas.

Quelqu'un a-til déjà constaté ça?

Cordialement
FL