Прямо сейчас у меня есть PHP-файл, который выполняет MYSQL-запрос, а затем подсчитывает такие строки:
$count=mysql_num_rows($result); if ($count == 1) { $message = array('status' => 'ok'); } else { $message = array('status' => 'error'); }
Это отлично работает, но я пытаюсь изменить все свои PHP-файлы для использования PDO. Итак, как это можно сделать с PDO?
$res = $DB->query('SELECT COUNT(*) FROM table'); $num_rows = $res->fetchColumn();
или
$res = $DB->prepare('SELECT COUNT(*) FROM table'); $res->execute(); $num_rows = $res->fetchColumn();
Вы можете использовать это, чтобы спросить, существуют или нет данные:
$res = $DB->query('SELECT COUNT(*) FROM table'); $data_exists = ($res->fetchColumn() > 0) ? true : false;
Или с вашими переменными:
$res = $DB->query('SELECT COUNT(*) FROM table'); $message = ($res->fetchColumn() > 0) ? array('status' => 'ok') : array('status' => 'error');
Возможно, вы можете использовать метод «fetchAll» PDO, который возвращает массив, содержащий все результаты SELECT. Затем используйте метод count для подсчета строк массива.
Пример:
$rows = $stmt->fetchAll(); $num_rows = count($rows);
$ stmt = $ db-> query ('SELECT * FROM table');
$ row_count = $ stmt-> rowCount ();
echo $ row_count. ' выбранные строки;
Если вы не используете подготовленные инструкции, попробуйте:
$find = $dbh->query('SELECT count(*) from table'); if ($find->fetchColumn() > 0){ echo 'found'; }
Однако, если вы выберете подготовленные заявления, которые я настоятельно рекомендую, тогда:
$find = $dbh->prepare('SELECT count(*) from table'); $find->execute(); if ($find->fetchColumn() > 0){ echo 'found'; }
Может быть так …
$numRows = $conn->query("SELECT COUNT(*) FROM yourtable")->fetchColumn(); echo $numRows;
$jmldata = $db->query("SELECT count(*) FROM blog_posts")->fetchColumn(); $jmlhalaman = $p->jumlahHalaman($jmldata, $batas); $linkHalaman = $p->navHalaman($_GET['halpost'], $jmlhalaman); echo "<div class='center_title_bar'>Halaman : $linkHalaman </div> </div></div></div> ";
это работает спасибо 🙂
//query for counting the total number of rows $result = $conn->prepare("SELECT COUNT(*) FROM your_table"); $result->execute(); $num_rows = $result->fetchColumn(); //condition to display the result if ($num_rows>0) { echo "there is some results =".$num_rows; }else{ echo "no result"; }