Задать вопрос
@jenya7771

Как сделать редирект если в БД не существует такого id?

Здравствуйте, как сделать редирект на страницу ошибки, или другую, если при запросе в БД по id, такого id не существует?
$dbh = mysql_connect(HOST, USER, PASS) or die("Не могу соединиться с MySQL.");
mysql_select_db(DB) or die("Не могу подключиться к базе.");

mysql_query("set names utf8");

$query = "SELECT * FROM `pudra` where id= $productId";
$res = mysql_query($query) or die(header($redir));

while($row = mysql_fetch_array($res)){

	$available = $row['available'];
	$categoryId = $row['categoryId'];
	$currencyId = $row['currencyId'];
}
  • Вопрос задан
  • 152 просмотра
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
@entermix
Используйте функцию header:

header("Location: http://www.example.com/");
Ответ написан
Комментировать
alexfilus
@alexfilus
Senior backend developer
$dbh = mysql_connect(HOST, USER, PASS) or die("Не могу соединиться с MySQL.");
mysql_select_db(DB) or die("Не могу подключиться к базе.");

mysql_query("set names utf8");

$query = "SELECT * FROM `pudra` where id= $productId";
$res = mysql_query($query) or die(header($redir));
if(is_array($row)) {
while($row = mysql_fetch_array($res)){

  $available = $row['available'];
  $categoryId = $row['categoryId'];
  $currencyId = $row['currencyId'];
}
}
else {
header("Location: /404.php");
}

Не самый красивый способ, но сработает.
Ответ написан
Самый простой способ: считаем выдачу через mysql_num_rows и если 0 - редирект. Только после header страницу незабудьте убить die()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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