02-05-2016, 11:02 AM
(02-05-2016, 10:39 AM)Xenos a écrit : Cela me semble correct, mis à part la détection d'erreur.
Code :$donnee = @mysqli_fetch_array($requete);
/* On recherche s'il y a erreur */
if (!$donnee) {
Cela me semble bancal. Pourquoi n'utilises-tu pas les mysqli_error (qqc du genre) qui sont étudiés pour cela (indiquer s'il y a eu une erreur et si oui laquelle, ce qui t'aidera à gérer leur résolution)? A défaut, c'est mysqli_query qui te retourne "FALSE" en cas d'erreur (cf doc), donc autant directement te servir de $requete === false. D'ailleurs, garde à l'esprit qu'une @ (suppress warnings ou suppress error, j'ai un doute tellement je ne m'en sert pas!) est souvent un mauvais design de gestion d'erreur car toute erreur/alerte sera masquée: celle à laquelle tu auras pensé, mais aussi celles auxquelles tu n'auras pas pensé (je ne serai pas surpris que $donee = @mysqli_fetch_array($reguete); plante à chaque fois, sans que tu ne saches pourquoi, et tu vas t'arracher les cheveux à voir que le "q" est devenu "g"). Privilégie l'approche "je check les choses avant (ou ici, après, via mysqli::$errno) et je laisse les erreurs que je n'ai pas checkées arriver (comme ça, je les vois et je pourrai les checker aussi / les corriger)", plutôt que "je masque tout et cela plantera forcément un jour, sans me le dire".
PS: même si mes réponses peuvent être verbeuses, lis-les entièrement (et vérifie que la dernière n'a pas été éditée entre temps), cela t'aurai fait gagner un peu de temps pour READ_WRITE (c'est bien de chercher tout seul quand même )
Arg !! J'y étais presque :p !
Donc si j'ai bien compris :
- ne pas utiliser de @ sinon on masque une partie de son environnement à savoir les erreurs qu'on pourrait rencontrer.
- revoir la partie erreur en utilisant le retour false : $requete == false
- utiliser mysqli_error pour afficher les erreurs
ps: merci pour l'aide ! je découvre quelque chose avec ces transactions !
Dire que j'étais tout fier d'avoir trouvé la cause de l'erreur ! La prochaine fois je relirais à deux fois tes messages pour m'éviter une nouvelle douche froide :p