Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Emmk
74 / 74 / 30
Регистрация: 12.02.2016
Сообщений: 199
Завершенные тесты: 1
1

PHP PDO проверка на пустой запрос

18.08.2016, 14:01. Просмотров 1849. Ответов 2
Метки нет (Все метки)

Подключаюсь к базе:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$host = "localhost";
$db = "db";
$user = "user";
$pass = "pass";
$charset = "utf8";
 
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$opt = array(
        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$pdo = new PDO($dsn, $user, $pass, $opt);
Готовлю запрос:
PHP
1
2
$sql = $pdo->prepare('SELECT * FROM table WHERE field = ?');
$sql->execute([$_GET['field']]);
И извлекаю из массива через FETCH_LAZY:
PHP
1
while ($row = $sql->fetch(PDO::FETCH_LAZY))
Вопрос - как грамотно проверять что запрос вернул пустой результат если используется FETCH_LAZY?
Пробовал так:
PHP
1
if (empty($row)) { die(); }
Пробовал сяк:
PHP
1
if ($row->field == 0) { die(); }
Ни в какую не желает выполнятся. Сори за нубский вопрос, с PHP мало работал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2016, 14:01
Ответы с готовыми решениями:

Пустой запрос от базы (PDO)
Здравствуйте, получаю пустой запрос от базы данных, сейчас подключил:...

Не выполняется подготовленный запрос (PHP PDO ODBC + MS Access)
Добрый день Если пишу (глупо, конечно, получается, но всё же. так я проверял...

PHP PDO проверка на существование записи
Help me, plz! 😓 Again. Добавляю в базу записи. Значения полей должны быть...

Проверка подключения PDO
Здравствуйте, мне нужно проверить подключение к бд. Использую PDO try{ ...

Проверка PDO запроса к БД
написал подключение БД через синглтон private $_db; protected...

2
Max Dark
шКодер самоучка
1970 / 1746 / 861
Регистрация: 09.10.2013
Сообщений: 3,855
Записей в блоге: 6
Завершенные тесты: 2
18.08.2016, 14:56 2
Цитата Сообщение от Emmk Посмотреть сообщение
Вопрос - как грамотно проверять что запрос вернул пустой результат
Можно использовать PDOStatement::rowCount
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$sql = 'SELECT * FROM `table` WHERE field = :field';
$params = [
    ':field' => $_GET['field']
];
$query = $db->prepare($sql);
$query->execute($params);
$empty = $query->rowCount() === 0;
var_dump($empty);
 
if (!$empty) {
    /** @var \PDORow $data */
    while ($data = $query->fetch(PDO::FETCH_LAZY)) {
        var_dump($data);
    }
}
1
Emmk
74 / 74 / 30
Регистрация: 12.02.2016
Сообщений: 199
Завершенные тесты: 1
18.08.2016, 15:09  [ТС] 3
Cra3y, хм, работает, спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2016, 15:09

Php,pdo, mysql+php,
К примеру у меня есть функция добавления в бд через PDO Так вот, а если я...

PHP PDO
include('connect.php'); $busynamequery = $pdo->prepare('SELECT * FROM...

Не работает insert запрос (PDO)
Здравствуйте. Помогите, пожалуйста, разобраться, почему не работает функция,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru