2017-04-14 51 views
-1

在PDO中的一个函数中执行两个语句是否是一种很好的做法?
如果有可能,如何添加优先级哪个语句被执行?如何在一个函数中执行两个PDO语句并优先执行哪个语句?

示例代码:

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

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

第一条语句将首先执行 –

+0

您的代码将无法正常工作,因为无处$ db可以被定义为 –

+0

好的做法?也许 - 完全取决于你在做什么。至于优先级,它将按照它的编码顺序发生,第二次操作之前的第一次操作。如果您想偏离该顺序,您需要在函数调用中使用某种限定符。 – 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(); 
} 

您可以通过传递参数来改变序列,如果没有传递它,它将以默认顺序工作。

更好地根据您的要求订单创建一次课程和调用方法。