2014-10-08 3 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 Framework 1.8

+0

echo $ stmt-> count(); ?? – TBI

+0

Это дает эту ошибку «Вызов неопределенного метода Zend_Db_Statement_Mysqli :: count()» – Julian

+0

echo $ stmt-> rowCount(); !!! – Julian

ответ

0

Что я сделал, чтобы решить эту проблему, была следующей.

Чтобы узнать более подробную информацию о вар $stmt я использовал Zend_Debug::dump($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();