2017-04-14 5 views
-1

PDOの1つの関数で2つのステートメントを実行することをお勧めしますか?
可能であれば、どのステートメントを優先して実行するのですか?1つの関数で2つのPDO文を実行し、最初に実行する優先順位を決める方法は?

例コード:

function example() { 
    $stmt = $db->prepare('Update blah blah'); 
    $stmt->execute(); 

    $stmt1 = $db->prepare('Select blah blah'); 
    $stmt1->execute(); 
} 
+2

最初の文が最初に実行されます –

+0

あなたのコードはどこでもうまく動作しません$ dbが定義されていることがわかります –

+0

良い方法ですか?多分 - あなたがしていることに完全に依存します。優先順位に関しては、2番目の操作の前の最初の操作であるコード化されたシーケンスで発生します。その順序から逸脱したい場合は、関数呼び出しで何らかの修飾子を使用する必要があります。 – junkfoodjunkie

答えて

-1

はい、あなたは一つの関数で複数のステートメントを呼び出すことができますが、これはベストプラクティスではありません。

次のように両方のクエリを呼び出すことができます。

public function dbManager($order = 1) 
{ 
    if($order == 1) 
    { 
     $this->firstExample(); 
     $this->secondExample(); 
    } 
    else 
    { 
     $this->secondExample(); 
     $this->firstExample(); 
    } 

} 

public function firstExample() 
{ 
    $stmt = $db->prepare('Update blah blah'); 
    $stmt->execute(); 
} 


public function secondExample() 
{ 
    $stmt = $db->prepare('Update blah blah'); 
    $stmt->execute(); 
} 

引数を渡すことでシーケンスを変更できます。何も渡されない場合、デフォルトの順序で動作します。

必要な注文に基づいて、一度クラスを作成してメソッドを呼び出す方がよい。

関連する問題