Mets un mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); pour activer les erreurs mysqli.
Surtout que là, outre les injections partout, la moindre ' dans les données fera obligatoirement planter ta requête. Prépare-la ou échappe par mysqli_real_escape_string (enfin, le conseil d'usage que l'on doit trouver partout).
Je ne peux pas faire mieux : il n'y a qu'à copier/coller le mysqli_report que j'ai donné en début de code PHP.
Je m'étonne que tu n'aies même pas de notice quand tu arrives sur le formulaire donc soit le PHP n'est pas interprété soit tu travailles avec PHP qui n'est pas configuré pour afficher les erreurs (display_errors à off au lieu de on).
Quand tu es sur ton formulaire, si tu fais afficher la source, est-ce que tu retrouves ton code PHP ?
Si tu fais un phpinfo et que tu cherches dans sa sortie display_errors, quelle est sa valeur ?
Ta requête fonctionne de mon côté, est ce que tu peux faire juste après ta query un :
var_dump($conn->error)
Qu'est ce que cela te renvoi ?
Privilégie aussi les requêtes préparées ou lieu d'injecter directement tes données par concaténation/interpolation, là t'es full vulnérable au injections SQL : https://www.php.net/manual/fr/mysqli.prepare.php
C'est normal, quand on arrive sur le formulaire ton code PHP est exécuté or les variables $_POST n'existent pas encore = tu as des notice: undefined index ...
Il manque une condition vérifiant qu'elles existent à minima (isset). On doit toujours vérifier que ces variables "externes" existent avant de les utiliser.
> Tes variables sont des booléens : ce n'est pas ici ni comme ça qu'il faut employer isset.
L'isset est vrai à présent, or la cast de TRUE en string induite par l'interpolation donne '1'.
Je rappelle que tu injectes toujours tes variables comme un gros bourrin directement dans la requête, ce qu'il ne faut JAMAIS faire, ça te vaut des injections SQL et une requête qui ne peut que planter si quelqu'un met la moindre ' dans les données ...
× 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
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli