2012-09-26 35 views
2

我不完全确定PHP PDO查询在底层执行什么操作。对于使用它们仍然是新的。这是我的问题。这安全吗?PHP PDO使用相同变量执行多个语句

$sth = $dbh->prepare("{some sql statement}"); 
$sth->execute(); 

$sth = $dbh->prepare("{an entirely different sql statement}"); 
$sth->execute(); 

可以重复使用像这样的$sth变量会导致任何问题吗?我不确定我是否可以进入某些时间安排问题,或者这确实是一种安全的做法。

+3

应该没问题。 –

+0

哦,它需要'$ sth->执行();' –

+0

哦,是的...对不起,输入 – ryanpitts1

回答

1

不,$sth是指向内存中语句处理程序的指针。通过为其分配第二个准备好的查询,第一个语句处理程序不再有指向它的指针,并且将由垃圾回收器清除。

+0

感谢大家的回答。并感谢@JvdBerg,解释也是如此。 – ryanpitts1

1

它并不平行,这里应该没有问题。

1

没问题,你重新声明它,所以前一个被破坏。只有我看到的问题是,如果你有未提交的数据,你会失去它。

+0

很高兴知道。谢谢。 – ryanpitts1