Mysql
 sql >> Base de données >  >> RDS >> Mysql

erreur d'insertion php + mysql

En fait, j'ai pris vos scripts, les ai chargés sur mon serveur, créé la table de la base de données et testé le script.

Une seule ligne est insérée par soumission.

Votre script fonctionne correctement.

Cependant, il y a une faille dans votre procédure de test.

J'ai également vérifié la console Firebug et l'appel AJAX fonctionne comme prévu.

À moins que vous n'ayez d'autres diagnostics, je ne pense pas pouvoir vous aider davantage.

Alerte de bogue
Il y a un bogue dans votre code qui vous causera un immense chagrin dans votre vie dans les années à venir...

if($stmt){
   echo "thank you .we will be in touch soon";
}
else{
    echo "there was an error. try again later.";
}

Ce if sera toujours évaluée à true puisque la requête est exécutée (à moins bien sûr que MySQL ne soit pas en cours d'exécution).

Ce que vous vouliez, c'est voir si l'insertion a réussi, et pour cela, vous devez vérifier :

if($stmt->affected_rows){...}

$stmt->affected_rows renverra -1 en cas d'échec ou +1 en cas de succès.

Stratégies de débogage
(1) Ajoutez un champ supplémentaire dans votre avec un horodatage afin que vous puissiez voir quand les enregistrements sont insérés. Cela vous donnera un meilleur aperçu de ce qui se passe.

(2) Videz votre table et réessayez votre code. Vous pensez peut-être que vous recevez plusieurs insertions, mais il se peut aussi que vous ayez appuyé 4 fois sur le bouton Soumettre.