2014-02-10 28 views
-1

我需要將來自SQL COUNT查詢的結果存儲在PHP變量中。如何在ModX Revo中存儲PDO/SQL Count的結果?

我知道ModX使用PDO來運行它的SQL查詢,但我不確定如何去創建它。

到目前爲止,我曾嘗試:

$sql = "SELECT COUNT (*) FROM `table` WHERE x = $x"; 
$results = $modx->query($sql); 
$count = mysql_fetch_array($results); 
echo $count; 

和:

$sql = "SELECT COUNT (*) FROM `table` WHERE x = $x"; 
$results = $modx->getCount($sql); 
echo $results; 

,但沒有結果。

有人會知道在ModX(Revo)和PDO中做到這一點的正確方法嗎?

+0

你怎麼樣通過[閱讀*精細*手動]啓動(http://rtfm.modx.com/xpdo/2.x/class-reference/xpdo/ xpdo.query)? – Phil

+0

我做到了。我花了很多時間去嘗試不同的事情。我找不到解決我的問題的部分。 getCount函數似乎處理數組,而不是單個查詢結果。 – MeltingDog

回答

2

一對夫婦不同的方法

$results = $modx->query("select `username` from modx_users"); 

if (!is_object($results)) { 
    return 'No result!'; 
} 
else { 

    $r = $results->fetchAll(PDO::FETCH_ASSOC); 

    echo count($r); 

    print_r($r); 

} 





$results = $modx->query("select count(id) as uids from modx_users where id >= '1'"); 

if (!is_object($results)) { 

    return 'No result!'; 
} 
else { 

    $r = $results->fetch(PDO::FETCH_ASSOC); 

    echo 'uids = '.$r['uids']; 


}