Здравствуйте! Кто может подсказать, как в выборке в pdo, сделать условие, на пустоту?
У меня есть не замысловатое условие выборки:
Если то что в ГЕТ"е совпадает с ячейкой в базе, то выводить запись.
И я подумал, (мало ли, может произойти) вдруг юзер умышленно введет неверное значение ГЕТ"а, и ... тогда будет пустота на странице .. вот хотел бы узнать, как можно сделать условие, чтоб вместо пустоты, выводилась 404 страница, примерно такого условия:
Если пустая выборка, то выводить через require_once нужную.
Я попробовал написать вот так:
if(empty($row2) === true) {
// страница 404
require_once content . 'error/404.php';
}
Но в данном случаи, страница 404, выводится всегда. Успешная или нет выборка, 404 работает в обоих случаях. Стоит поменять:
empty($row2) === true
на
empty($row2) === false
и в данном случаи, 404 вообще не выводится.
Что делать?
P.S. Помогите пожалуйста.
Примечание:
Ell Rion, спасибо за ответ.
Я уже перепробовал:
empty($row2)
!empty($row2)
$row2 === false
$row2 === true
$row2 !== false
$row2 !== true
и еще свыше дюжины вариантов ... ни один не помог..
-- -- --
"во вторых не зная предшествующего кода, вам трудно ответить на ваш вопрос."
Он большой по длине, и здесь он много места займет (даже если сократить до максимального минимума)
Примечание:
if(isset($_GET['view_news']) === true && empty($_GET['view_news']) === false) {
if($row2 !== false) {
$sql2 = $db->prepare("
SELECT
`articles`.`link_art`,
`users`.`link_user`
FROM
`articles`
JOIN
`users`
ON
`articles`.`meta-author_art` = `users`.`id_user`
WHERE
`articles`.`link_art` = :link_art; ");
$get2 = $_GET['view_news'];
$sql2->bindParam(':link_art', $get2, PDO::PARAM_STR);
$sql2->execute();
$row2 = $sql2->fetch();
$row2['title_art']
if($row2 !== false) {
// страница 404
require_once content . 'error/404.php';
}
} else {
// страница 404
require_once content . 'error/404.php';
}
} else {
// страница 404
require_once content . 'error/404.php';
}
Вот такой сокращенный код получился. По логике вроди правильно, но в итоге, выводится запись из базы и страница 404. Что я делаю не так?
Примечание:
Наконец разобрался! Пришлось многое по изменять, чтоб получилось.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.