У меня есть таблица, содержащая 3 строки. Я пытаюсь пройти через все строки, но я не получаю правильное количество строк.PDO Ошибка: fetchColumn() VS count()
Мой код выглядит следующим образом:
$result1_prepare = $DB->prepare("SELECT * FROM table");
$result1_prepare->execute();
$num = $result1_prepare->fetchColumn();
$result1 = $result1_prepare->fetchAll();
echo $num; //OUTPUT 3
echo count($result1); //OUTPUT 2
if($num > 0){
foreach ($result1 as $x => $row) {
//LOOPING only 2 times, 1 row is not showing
}
}
Функция fetchAll() возвращает только 2 строки. Как так?
вы используете 'fetchColumn' для подсчета количества строк? – christopher
См. «PDOStatement :: rowCount» http://php.net/manual/en/pdostatement.rowcount.php –
@dirt: '... инструкция SELECT, некоторые базы данных могут возвращать количество строк, возвращаемых этим оператором. Однако это поведение не гарантируется ... ' –