0

On my MySQL search what I want to do is redirect a user to another page and show an error message if the search returned no results. But for some reason the user never gets redirected.

Can you spot my problem? :|

$sql = "SELECT * FROM `list` WHERE `title` LIKE '%".$search[0]."%' AND `url` LIKE '%".$sites[0]."%'";
		
$catcnt = mysql_fetch_row(mysql_query($sql));

if($catcnt[0] == ''){header('Location: index.php');}else{echo $catcnt[0];}
5
Contributors
6
Replies
7
Views
7 Years
Discussion Span
Last Post by vinothkumarc
0

Ooops. Thats a mistype. The problem still stands though. Ill update the code in the first thread.

0

Also it would probably be better to use strlen() or empty() to determine if there is no value to the array. Script should look like following:

$sql = "SELECT * FROM `list` WHERE `title` LIKE '%".$search[0]."%' AND `url` LIKE '%".$sites[0]."%'";
 
$catcnt = mysql_fetch_row(mysql_query($sql));
 
if(empty($catcnt[0]))
{ 
header('Location: index.php');
}
else{
echo $catcnt[0];
}
0

If you search the forum first you can often find previous posts with similar problems. Try this one as an example:
http://www.daniweb.com/forums/thread101948.html

Thanks for that...

I needed to use javascript for this. Heres my code now:

<?php
 if(empty($catcnt)){
echo("<script>location.href = 'index.php?error=Your search returned no results';</script>");
}else
{echo $catcnt[0];
} 
?>
0
$sql = "SELECT * FROM `list` WHERE `title` LIKE '%".$search[0]."%' AND `url` LIKE '%".$sites[0]."%'";
       
    $catcnt = mysql_fetch_row(mysql_query($sql));
         
    if(@!isset($catcnt[0]) && $catcnt[0]=='')
   {
         header('Location: index.php');
         exit;
   }
   else{
       echo $catcnt[0];
  }

-- Always use exit while using "header";

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.