2010-01-04 42 views
1

我想知道爲什麼PHP PDO中的SQL查詢的結果稱爲「語句」。我期望「記錄集」。我的英語非常糟糕,因爲我不是母語的人。因此:我開始「查詢」以「請求數據庫執行/取回某些內容」。有時我會用「準備好的陳述」來問(藍色混亂警報!)。然後,PDO返回一個名爲PDOStatement(紅色混淆警報!)的對象。然後,這個PDOStatement對象有一個fetch()方法,它似乎給我返回一個「記錄集」。好吧......那麼這個PDOStatement事物和我從fetch()獲得的記錄集有什麼邏輯差別?所謂的「記錄集」和所謂的「聲明」之間是否存在概念上的區別?

有什麼區別?還是PDOStatement對象實際上執行數據庫查詢,然後返回記錄集?或者 PDOStatement 記錄集?

回答

2

PDOStatement表示語句和結果集;引述the manual

表示一個準備的語句和, 執行語句之後,一個 關聯的結果集。

而且PDO::query方法:

執行一個SQL語句,返回 結果集作爲PDOStatement對象

1

這是因爲語句可以被執行,當它們是時,結果行被存儲在緩衝區內。本質上,該對象不僅包含它返回的記錄,還包含有關如何再次執行的信息。這就是爲什麼它被稱爲聲明。