PHP Zend - Выполнить, чтобы получить набор строк и общее количество записей - PullRequest
1 голос
/ 14 мая 2011

Я сталкиваюсь с некоторой проблемой, когда хочу выполнить инструкцию SQL и получить общее количество записей + все записи.

$strSQL = "SELECT * FROM table WHERE ProjectID = 1 ";
$stmt = $db->query($strSQL);
$total = count($stmt->fetchAll());
while ($row = $stmt->fetch()){
    ..No More Record Shown here..
}

но после выполнения fetchAll больше нет записи в цикле while, я считаю, что мне нужно вернуться к первой строке или что-то еще, кто-нибудь знает, как это исправить?

1 Ответ

2 голосов
/ 14 мая 2011

Вы уже загрузили все записи с fetchAll().Поэтому, когда вы звоните fetch(), больше нет записей для чтения.Попробуйте сохранить возвращаемое значение fetchAll() в переменной и повторить это.Как то так:

$strSQL = "SELECT * FROM table WHERE ProjectID = 1";
$stmt = $db->query($strSQL);
$allRows = $stmt->fetchAll();
$total = count($allRows);
foreach ($allRows as $row){
    // process each $row
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...