PHP Insérer deux fois dans la base de données MySQL sur une seule requête
L'extrait de code ci-dessous effectue des opérations pour insérer des données dans une base de données MySQL. Cependant, il insère les résultats deux fois, même après une seule exécution. Ce problème ne se produit que lorsque Opera ou Chrome est utilisé comme navigateur.
$db=mysql_connect('localhost','zzzzzzz','xxxxxx') or die('Unable to connect.'.mysql_error()); mysql_select_db('test',$db) or die(mysql_error($db)); $sql="INSERT INTO test_table(value,insert_time) VALUES ('testing','".time()."')"; $result=mysql_query($sql); echo "result=".$result; $select="select * from test_table"; $rs=mysql_query($select); while($row=mysql_fetch_array($rs)){ echo $row["test_id"]." -- ".$row["value"]." -- ".$row["insert_time"]."<br />"; }
Solution :
Pour résoudre ce problème, assurez-vous que la requête d'insertion est uniquement exécutée pour une demande spécifique. Cela évite de l'exécuter plusieurs fois pour la même requête.
Dans le fichier .htaccess, modifiez le code pour que tout pointe vers le fichier d'index. Cela garantit que le script n'est demandé qu'une seule fois. Par la suite, la requête d'insertion ne sera exécutée qu'une seule fois, é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!