javascript - mysql update 的奇葩问题
update table_xxx set a=a+1 where documentid=123
如果数据库中为10 那么 执行后就是11
但是最后结果总是12 ,我都郁闷了一天了,怎么办。程序没有任何问题,我用mysql类,和原生的sql都试过了,都这这个问题,以前开发的时候也没有遇到,开发一年遇到这样的问题有解决不了,感觉就是一饭桶,求大神指教
数据库结构:
<code>CREATE TABLE comment_top_foot ( id int(10) NOT NULL AUTO_INCREMENT, documentid int(10) NOT NULL, commentid int(10) NOT NULL, topnum int(10) NOT NULL DEFAULT '0' COMMENT '对评论顶的数量', footnum int(10) NOT NULL DEFAULT '0' COMMENT '对评论踩的数量', PRIMARY KEY (id) ) ENGINE=MyISAM AUTO_INCREMENT=1500 DEFAULT CHARSET=latin1 </code>
刚才我在linux下运行脚本了,数据库中是加一的没错,但是我在浏览器访问这个脚本后数据库值加2 的,这是神马原因!
找到原因了,在同事那里用浏览器是正常的,我换成火狐或者ie也是正常的,现在用的是谷歌的,出问题了,唯一纳闷的是为什么谷歌浏览器会出问题。郁闷。。。
回复内容:
update table_xxx set a=a+1 where documentid=123
如果数据库中为10 那么 执行后就是11
但是最后结果总是12 ,我都郁闷了一天了,怎么办。程序没有任何问题,我用mysql类,和原生的sql都试过了,都这这个问题,以前开发的时候也没有遇到,开发一年遇到这样的问题有解决不了,感觉就是一饭桶,求大神指教
数据库结构:
<code>CREATE TABLE comment_top_foot ( id int(10) NOT NULL AUTO_INCREMENT, documentid int(10) NOT NULL, commentid int(10) NOT NULL, topnum int(10) NOT NULL DEFAULT '0' COMMENT '对评论顶的数量', footnum int(10) NOT NULL DEFAULT '0' COMMENT '对评论踩的数量', PRIMARY KEY (id) ) ENGINE=MyISAM AUTO_INCREMENT=1500 DEFAULT CHARSET=latin1 </code>
刚才我在linux下运行脚本了,数据库中是加一的没错,但是我在浏览器访问这个脚本后数据库值加2 的,这是神马原因!
找到原因了,在同事那里用浏览器是正常的,我换成火狐或者ie也是正常的,现在用的是谷歌的,出问题了,唯一纳闷的是为什么谷歌浏览器会出问题。郁闷。。。
考虑下,你防重复提交逻辑做了没有?
抓一下http请求,看看发了几个请求过去了。
http://stackoverflow.com/questions/19264616/mysql-update-query-is-executing-twice-in-chrome-but-once-in-mozilla
https://codebuildplay.wordpress.com/2014/03/06/chrome-loads-page-twice-sitecore-dms-gets-faulty-usage-data/
能把代码贴上来么, 我在本地的测试正确的, 我是在mysql 命令行 里面敲的
<code>update ask_posts set state=state+1 where id=10; </code>
得到的结果:
你应该把PHP代码贴出来,问题很可能是在那

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。
