如果在mysql表中找不到项目,如何重定向到另一个页面?

时间:2012-02-14 06:48:35

标签: php mysql redirect

在下面的代码中,当在表格中找不到$ host时,我希望页面重定向到我设置的另一个页面。考虑到下一行的“die(mysql_error())”,我一直在苦苦思索如何做到这一点。任何帮助将不胜感激!

$lookup = "SELECT DISTINCT `Id` FROM `google_accountid` WHERE `host_name` = '$host'";
$retailer_query = mysql_query($lookup) or die(mysql_error());

4 个答案:

答案 0 :(得分:2)

我想你可以试试这个:

$num_rows = mysql_num_rows($retailer_query);
if ($num_rows == 0) header("Location: " . your_new_page);

答案 1 :(得分:2)

$num_rows = mysql_num_rows($retailer_query);
if ($num_rows == 0) 
{
header("Location: yourpage.php");
exit();
}

答案 2 :(得分:2)

如果您只想检查select查询是否返回0行或更多行,请使用mysql_num_rows();您不必在select语句中指定任何列:

$lookup = "SELECT 1 FROM `google_accountid` WHERE `host_name` = '$host'";
$retailer_query = mysql_query($lookup) or die(mysql_error());
if(mysql_num_rows($retailer_query) === 0)
{
    header("Location: whatever");
    die;
}

或者,您可以使用以下示例,该示例允许您在稍后阶段使用返回的记录:

$lookup = "SELECT `Id` FROM `google_accountid` WHERE `host_name` = '$host'";
$retailer_query = mysql_query($lookup) or die(mysql_error());
$row = mysql_fetch_assoc($retailer_query);
if($row === false)
{
    header("Location: whatever");
    die;
}
echo $row["Id"];
在将任何内容发送到浏览器之前,应先处理

header()个语句。

答案 3 :(得分:0)

if ($row["Id"] == NULL) {
   header( 'Location: <redirect URL>' ) ;
}