mysql - 多用户同时请求一个PHP文件有可能得到相同的返回值吗?
如题,代码 如下 在多用户同时请求该文件时 会出现两个用户得到的返回值相同吗?
场景 该文是判断用户消耗的积分或者道具的数据 在数据表中相应 字段存储用户的积分或者道具数量,每次用户请求该文件 通过用户ID 进行查询用户的积分或者道具 之后进行对比 通过之后做其他操作
mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("user");
$consume_props_count = 10;
$select = 'SELECT count
from user
where userid
=123456';
$query = mysql_query($select);
$row = mysql_fetch_assoc($query);
if ($row['count']
return false;
}
求大神赐教
PS 不太善于描述问题 望各位见谅.
回复内容:
如题,代码 如下 在多用户同时请求该文件时 会出现两个用户得到的返回值相同吗?
场景 该文是判断用户消耗的积分或者道具的数据 在数据表中相应 字段存储用户的积分或者道具数量,每次用户请求该文件 通过用户ID 进行查询用户的积分或者道具 之后进行对比 通过之后做其他操作
mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("user");
$consume_props_count = 10;
$select = 'SELECT count
from user
where userid
=123456';
$query = mysql_query($select);
$row = mysql_fetch_assoc($query);
if ($row['count']
return false;
}
求大神赐教
PS 不太善于描述问题 望各位见谅.
假设其他程序不会修改代码中的变量或mysql中的数据,那么一定会返回相同值。
1、consume_props_count变量每次都是10且不做修改;
2、查询语句一样
所以一个用户请求多次或多个用户同时请求其结果都是一样的。
update
-------
还是无法从代码中看出什么。
你的返回值是false
或不返回,那么肯定会有一部分用户得到的是false
。
猜测你可能是想问多个请求同时到达会不会产生共享内存从而相互影响,PHP请求之间的资源是隔离开的,不同请求之间不能共享内存。请求间共享数据的方法就是从第三方读写数据(如MYSQL)。
没有数据修改的话肯定一样。
用户个人的数据是私有的,即便有修改也是用户自己这边引起的,有时序性,所以一般不会有问题,真多你的问题,建议你可以了解一下文件锁和mysql的事务隔离级别的知识。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

NAVICATでSQLを実行する手順:データベースに接続します。 SQLエディターウィンドウを作成します。 SQLクエリまたはスクリプトを書きます。 [実行]ボタンをクリックして、クエリまたはスクリプトを実行します。結果を表示します(クエリが実行された場合)。

手順に従って、NAVICATで新しいMySQL接続を作成できます。アプリケーションを開き、新しい接続(CTRL N)を選択します。接続タイプとして「mysql」を選択します。ホスト名/IPアドレス、ポート、ユーザー名、およびパスワードを入力します。 (オプション)Advanced Optionsを構成します。接続を保存して、接続名を入力します。

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。
