如何在一个函数中执行两个PDO语句并优先执行哪个语句?
问题描述:
在PDO中的一个函数中执行两个语句是否是一种很好的做法?
如果有可能,如何添加优先级哪个语句被执行?如何在一个函数中执行两个PDO语句并优先执行哪个语句?
示例代码:
function example() {
$stmt = $db->prepare('Update blah blah');
$stmt->execute();
$stmt1 = $db->prepare('Select blah blah');
$stmt1->execute();
}
答
是的,你可以调用多个语句在单一的功能,但是这并不是最好的做法。
您可以按照以下方式调用您的两个查询。
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();
}
您可以通过传递参数来改变序列,如果没有传递它,它将以默认顺序工作。
更好地根据您的要求订单创建一次课程和调用方法。
第一条语句将首先执行 –
您的代码将无法正常工作,因为无处$ db可以被定义为 –
好的做法?也许 - 完全取决于你在做什么。至于优先级,它将按照它的编码顺序发生,第二次操作之前的第一次操作。如果您想偏离该顺序,您需要在函数调用中使用某种限定符。 – junkfoodjunkie