Bonjour, J'aimerais enregistrer ces informations dans la base de donnée si seulement si elles n'existent pas déjà celle-ci. Mais je constate que ça refuse malgré que ça n'existent pas dans ma bdd. : Ces informations existent déjà
fetchAll avec un SELECT COUNT sans clause GROUP BY renverra toujours un tableau d'un élément ...
Personnellement, je ne vois pas l'intérêt d'utiliser fetchAll quand on sait n'attendre qu'au plus une ligne (exactement une ici), un fetch, ou encore mieux, un fetchColumn suffit amplement ici.
Petit point sur lequel je souhaite revenir : header('Location: ...') redirige mais n'arrete pas la generation de la page, c'est l'une des plus grosse failles que l'on peut trouver sur un site.
Pour ce qui est de ce bout de code, tout m'a l'aire bon (sauf erreur de ma part), le problème vient peut-être de tes variables.
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
Il ne faut pas utiliser fetch comme ça (parce que même si COUNT donne 0, il rentrera dans le else) mais plutôt fetchColum, donc remet le COUNT(*) dans ton SELECT et utilise fetchColumn().
Maintenant si PHP te donne un résultat contraire après avoir testé dans ton cas via PHPMYADMIN , là.
- Edité par WillyKouassi 21 janvier 2018 à 17:26:54
le bienfait n'est jamais perdu
fetchAll() retourne faux
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli