2012-09-26 33 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