1

20 秒ごとに自動的に更新される Web ページを使用して、新しいメールやその他の情報を確認しています。

1つのファイルautomate.phpに<?php include ... ?>は約6つのファイルがあります。

含まれている 6 つのファイルすべてで SQL クエリを実行しますが、automate.php ファイルを介して 2 つ同時に実行すると、一緒に実行しようとすることがあります。

たとえば、include1.php両方include2.phpが同時にクエリを実行する場合

include1.php:
($sql="QUERY HERE";)

include2.php:
($sql="QUERY HERE";)

どちらも同じ$sqlなので違いがわかりません。

これが起こらないようにする最善の方法は何ですか?

4

2 に答える 2

0

それらが同時に実行されることは問題ではありません(この場合、それらが実行されるかどうかはわかりません)。

入力するたびにデータベースに情報を入力するフォームを持つ Web サイトがある場合、2 人がまったく同時にフォームに入力すると Web サイトが壊れますか?

EDIT:私がこれを誤解していて、実際にクエリ2が最初の $sql に格納されているクエリを使用していることを意味している場合、2番目のクエリで再定義し、クエリ3で再定義したため、そうではありません/ 4 / 5などIE:

//query 1
$sql = 'SELECT * FROM `test`'; 
//rest of query 

//query 2    
$sql = 'SELECT count(*) FROM `test2`;

//$sql はtest、'SELECT count(*) FROM test2;として再定義したため、= 'SELECT * FROM ' ではなくなりました。

于 2013-07-25T10:03:19.993 に答える
0

これは私が行う方法です:

  1. インクルードをクラス (モデル) に変換する

    class Model1 {
        function getBlah($param) {
            // Do sql here.
        }
    
        // other functions here.
    }
    
  2. 次に、必要な順序で各クラスから SQL メソッドを呼び出します。

    $obj = new Model1();
    echo $obj->getBlah('Horse');
    
于 2013-07-25T10:14:04.470 に答える