簡體   English   中英

PHP PDO提取行為

[英]PHP PDO fetch behaviour

假設表表包含許多記錄,並且我在某些情況下查詢了一條select語句,在這種情況下為foo = 1 提取記錄后,我將使用該記錄來執行花費大量時間的操作,並使用sleep(2)使其易於理解。

$stmt = $dbh->query('SELECT * FROM table WHERE foo=1');
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    //do sth
    sleep(2);
}

提取第一行后 ,如果還有其他會話更新表,例如,更新第三行 (假設第三行的原始foo為1)並設置foo = 0,則上述腳本是否仍會檢索第三行 我想知道代碼背后的提取功能是做什么的。

通常,當您執行查詢時,查詢將運行到完成,然后將結果發送到數據庫驅動程序(在本例中為PDO)以供使用。

即使使用諸如游標或流式行集之類的技術來順序獲取數據,效果也是一樣的。 查詢的結果將不受后續語句的影響。

將您從PDO檢索到的所有內容視為在單個時間點拍攝的快照。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM