Как лучше проверить PDO запрос. Например: $sql = "SELECT * FROM table WHERE id='".$_GET['id']."'"; $stmt = $dbh->query($sql); // Вывод while($row = $stmt->fetch(PDO::FETCH_OBJ)) { echo $row->text; } например если отправили id не существующую как сделать редирект на 1 запись? Заранее спасибо!
На вскидку Код (Text): SELECT * FROM table WHERE (NOT EXISTS (SELECT id from table as t WHERE t.id = '".$_GET['id']."')) OR (id = '".$_GET['id']."') LIMIT 1; Оптимизируйте сами, либо ищите иной вариант..
Спасибо. А проверить как в обычном mysql запросе на if (!sql) и просто человека перенаправить на главную. страницу, в pdo каким образом можно сделать?
Я чет не пойму, сформулируйте общий вопрос темы корректно. Вам нужно чтобы мускуль вам отдал запись или тупо при отсутствии онной сделать редирект на другую страницу?
С выдачей 1 записи я разобрался, на Вашем примере. Сейчас просблема стоит, как сделать редирект при отсутствии записи.
Спасибо за помощь у условии, а вывод через foreach лучше сделать? if($stmt->fetch(PDO::FETCH_OBJ)) { // Вывод } else { // редирект } Добавлено спустя 5 минут 15 секунд: С выводм теперь проблема. if($stmt->fetch(PDO::FETCH_OBJ)) { // Вывод foreach ($stmt as $row) { echo $row->content; } } else { // редирект } ничего не выводит.
Это условие было примитивным для наглядности и понимания, в вашем первом посте замените while на if и у вас будет доступ к записям через $row. По условию sql запроса могу предположить, что у вас всего-лишь получен ОДИН row и поэтому while и foreach здесь просто не нужны.
Код (PHP): if($row = $stmt->fetch(PDO::FETCH_OBJ)) { echo $row->title; } else { echo "Запись не правильная"; // или редирект.. смотря что нужно }