Количество строк без ошибок, но неправильный результат
$rowcount = 'SELECT COUNT(1) FROM (select * from isk.edi_site where postal_code = 123456)';
$stmt= oci_parse($conn, $rowcount);
oci_execute($stmt);
$num_row = oci_fetch_assoc($stmt);
$num = count($num_row, COUNT_RECURSIVE);
echo $num;
Он подсчитывает и возвращает число "1". Когда я использую один и тот же SQL-запрос в Oracle SQL developer, он повторяет число 4000+. Где была бы моя ошибка? Счетчик столбцов работает хорошо..
2
1 answers
Запрос COUNT()
возвращает только одну строку, поэтому вам нужно получить ее из вызова oci_fetch_assoc()
. То, что вы делаете, - это подсчет строк в результирующем наборе, который всегда будет равен 1.
$row = oci_fetch_assoc($stmt);
echo $row['COUNT(1)'];
Или дайте графу псевдоним:
SELECT COUNT(1) mycount FROM ...
$row = oci_fetch_assoc($stmt);
echo $row['MYCOUNT'];
5
Author: MrCode, 2013-10-27 16:23:54