2012-01-24 57 views
0

我想知道在PHP PDO投變量和常量PDO :: FETCH_ *之間的返回查詢差異和鑄造

例子,真正的差別:

$row = $stmt->fetch(PDO::FETCH_OBJ); 

OR

$row = (object) $stmt->fetch(); 

回答

2

沒有顯著差異,但很明顯,第一線做較少的工作:它取出數據和填充對象,而第二個獲取數據,填充數組和叔母雞將陣列投射到物體上。

你也可以看看http://us.php.net/manual/en/pdostatement.fetchobject.php

+0

第二次根據默認爲PDO :: FETCH_BOTH(數組)的PDO :: ATTR_DEFAULT_FETCH_MODE值取回。你可以設置默認的獲取模式,所以你不需要在每次調用'PDOStatement :: fetch()'時指定它。 – Phil

+0

@Phil:是的,這與我認爲的問題無關 – zerkms

+0

它與你的答案有關雖然 – Phil

0

Methodstmt->fetch();雙方列名和零索引數組和$stmt->fetch(PDO::FETCH_OBJ);方法返回一個索引數組(PDO :: FETCH_BOTH)返回對應於column名稱屬性名匿名對象在結果集中返回。