@SaySato

Можно ли узнать содержимое $r->rowCount() напрямую?

Доброго времени суток.
При создании формы ввода столкнулся с проблемой. По условию цикла, мы запрашиваем значение prim из базы данных, и в случае, если оно существует - выводим его на экран, иначе - выводим на экран форму ввода.
Однако же, по итогу выполнения цикла, на экран выводится часть кода как если бы prim имело значение вопреки контрольному примеру.
Контрольный пример, запрашиваемое значение prim = NULL:
628933c45ead5083505579.jpeg
Код:
<? $r = $db->dbs->prepare('SELECT prim FROM anketa WHERE id_a=:i');
                $r->execute([':i' => $res['id_a']]);
                if ($r->rowCount() != 0) {
                    ?>
<h6 class="card-subtitle mb-2 ">Примечание к анкете</h6>
                    <p class="card-text"><?= $res['prim'] ?></p><?
 } else{?> <form action="index.php" method="post">
                        <input type="hidden" name="page" value="<?= $_REQUEST['page'] ?>">
                        <input type="hidden" name="action" value="prima">
                        <select name="id_a">
                            <option value="<?= $res['id_a'] ?>"
                    </select>
                        <label>Примечание к анкете</label>
                        <textarea name='prim' class='form-control' id='exampleFormControlTextarea1' rows='1'></textarea>
                        <button type='submit' class='btn  btn-outline-dark'>Оставить примечание к анкете</button>
                    </form><? } ?>

Можно ли как-то узнать значение $r->rowCount() которое принимается в случае prim = NULL?
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
@Dr03d
Попробуй уточни запрос:
SELECT prim FROM anketa WHERE id_a=:i AND prim IS NOT NULL
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@rPman
причем тут значение prim и количество записей?

rowCount() это прямое (низкоуровневее некуда) определение количество записей в результате запроса
Если тебе нужно знать сколько prim имеет значение null, то либо считай их сам по загруженным результатам, либо сделай отдельно запрос select count(*) from anketa where prim is null
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы