ホームページ >データベース >mysql チュートリアル >Opera または Chrome を使用すると、PHP コードが 1 回のリクエストで MySQL にデータを 2 回挿入するのはなぜですか?

Opera または Chrome を使用すると、PHP コードが 1 回のリクエストで MySQL にデータを 2 回挿入するのはなぜですか?

DDD
DDDオリジナル
2024-11-17 15:39:01473ブラウズ

Why Does My PHP Code Insert Data Twice into MySQL on a Single Request with Opera or Chrome?

PHP Insert Twice into MySQL Database on Single Request

以下のコード スニペットは、MySQL データベースにデータを挿入する操作を実行します。ただし、1 回だけ実行した後でも、結果は 2 回挿入されます。この問題は、Opera または Chrome がブラウザとして使用されている場合にのみ発生します。

$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 />";
}

解決策:

この問題を解決するには、挿入クエリのみが実行されるようにしてください。特定のリクエストに対して。これにより、同じリクエストに対して複数回実行されることがなくなります。

.htaccess ファイルで、すべてがインデックス ファイルを指すようにコードを変更します。これにより、スクリプトが要求されるのは 1 回だけになります。その後、挿入クエリは 1 回だけ実行され、重複した挿入が防止されます。

以上がOpera または Chrome を使用すると、PHP コードが 1 回のリクエストで MySQL にデータを 2 回挿入するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。