PHP zweimal in MySQL-Datenbank auf einzelne Anfrage einfügen
Der folgende Codeausschnitt führt Vorgänge zum Einfügen von Daten in eine MySQL-Datenbank aus. Allerdings werden die Ergebnisse zweimal eingefügt, selbst nachdem es nur einmal ausgeführt wurde. Dieses Problem tritt nur auf, wenn Opera oder Chrome als Browser verwendet wird.
$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 />"; }
Lösung:
Um dieses Problem zu beheben, stellen Sie sicher, dass die Einfügeabfrage nur ausgeführt wird für eine konkrete Anfrage. Dies verhindert, dass es mehrmals für dieselbe Anfrage ausgeführt wird.
Ändern Sie in der .htaccess-Datei den Code so, dass alles auf die Indexdatei verweist. Dadurch wird sichergestellt, dass das Skript nur einmal angefordert wird. Anschließend wird die Einfügungsabfrage nur einmal ausgeführt, wodurch doppelte Einfügungen vermieden werden.
Das obige ist der detaillierte Inhalt vonWarum fügt mein PHP-Code bei einer einzigen Anfrage mit Opera oder Chrome zweimal Daten in MySQL ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!