2014-10-08 55 views
0

在PHP中,您可以使用函數mysqli_stmt_num_rows($ stmt)來檢查結果集中有多少行。計算Zend Framework中的行數

我想知道,如果你使用Zend Framework,該怎麼做。我試圖實現的是檢查電子郵件是否存在於數據庫表中:客戶。

我有這段代碼。

$db = Zend_Registry::get('db'); 
$query = "SELECT column1,column2 FROM ". Zim_Properties::getTableName('Customer') ." WHERE email = '".$_POST['email']."'"; 
$stmt = $db->query($query); 

我使用Zend框架1.8

+0

echo $ stmt-> count(); ?? – TBI 2014-10-08 08:00:35

+0

這給出了這個錯誤「調用未定義的方法Zend_Db_Statement_Mysqli :: count()」 – Julian 2014-10-08 08:07:56

+0

echo $ stmt-> rowCount(); ! – Julian 2014-10-08 08:09:50

回答

0

我所做的要解決的問題是以下幾點。

要知道我以前Zend_Debug::dump($stmt);

了var $stmt更多信息,結果表明:

object(Zend_Db_Statement_Mysqli)#14 (12) {

於是我去到該文件夾​​"library/Zend/Db/Statement",並打開該文件Mysqli.php

然後我檢查了班上可用的每種方法,並注意到方法rowCount是需要的。

在控制器上我調用了這個rowCount函數。

$db = Zend_Registry::get('db'); 
$query = "SELECT column1,column2 FROM ". Zim_Properties::getTableName('Customer') ." WHERE email = '".$_POST['email']."'"; 
$stmt = $db->query($query); 
echo $stmt->rowCount();