@newaitix

Как узнать сколько было извлечено записей из базы данных.?

$user=$_connect_->query("SELECT * FROM users WHERE login='{$_SESSION['login']}' ORDER BY 'id'");

Задача в том чтоб не создавать 2 запроса к бае данных а использовать один запрос.
if(count($user)>0){
echo 'есть записи';
echo 'Имя пользователя'.$user['login'];
}else
echo 'нет записей';

Как это сделать ?
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
kotomyava
@kotomyava
Системный администратор
php.net/manual/ru/pdostatement.rowcount.php
Только внимательно прочесть всё что там написано о select запросах.

Ну и вообще, стоит перед тем, как задать вопрос, всё же посмотреть в документации - на такие, по крайней мере вопросы, она отвечает вполне хорошо.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Это абсолютно бессмысленная операция, которая никогда не бывает нужна.

Если вдруг показалось, что нужно получить количество строк, которые вернул запрос, то значит проблемы с логикой. Это как раз тот случай, который мы наблюдаем сейчас. Откуда тут взялись 2 запроса к базе данных? Они существуют только в вашем воображении. В вашем коде используется только один запрос. И никакое количество строк тут не нужно, ваш код прекрасно работает без него. Разве что убрать из него SQL инъекцию и бессмысленные телодвижения

$stmt = $_connect_->prepare("SELECT * FROM users WHERE login=?");
$stmt->execute([$_SESSION['login']]);
$user = $stmt->fetch();

if($user){
    echo 'есть записи';
    echo 'Имя пользователя'.$user['login'];
}else
    echo 'нет записей';
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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