Maison > Article > base de données > Pourquoi mon script PHP insère-t-il des données deux fois dans la base de données ?
Problème :
Un script PHP insère des données dans une base de données MySQL deux fois après son exécution une fois. Lorsque le script s'exécute deux fois en raison d'un rafraîchissement de page, un seul résultat apparaît dans la base de données.
Cause :
Ce comportement peut se produire lorsque plusieurs requêtes sont adressées au script, par exemple lorsqu'un utilisateur actualise la page. Ce problème est particulièrement évident lors de l'utilisation des navigateurs Opera ou Chrome.
Raison :
En règle générale, les navigateurs demandent un script et une favicon lors de l'accès à un site Web. Lorsque cela se produit, le script PHP chargé d'insérer les données dans la base de données peut s'exécuter deux fois.
Solution :
Pour résoudre ce problème, implémentez un mécanisme qui garantit l'insertion la requête ne s'exécute que pour des requêtes spécifiques. Par exemple, une approche courante consiste à utiliser le code suivant :
if ($_SERVER['REQUEST_URI'] == '/specific/request') { // Insert query here }
Cela vérifie si l'URI de la requête est spécifique avant d'exécuter la requête d'insertion, évitant ainsi les insertions en double.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!