Jump to content
php.lv forumi

Search Engine kļūda


Walters

Recommended Posts

Lieta tāda, ka veidojot search engine saskāros ar problēmu, ka visi dati tiek ievadīti pareizi, bet parādās - Couldn't execute query.

 

<?

 // Get the search variable from URL

 $var = @$_POST['q'];
 $trimmed = trim($var); //trim whitespace from the stored variable

// rows to return
$limit=10; 

// check for an empty string and display a message.
if ($trimmed == "")
 {
 echo "<p>Please enter a search...</p>";
 exit;
 }

// check for a search parameter
if (!isset($var))
 {
 echo "<p>We dont seem to have a search parameter!</p>";
 exit;
 }

//connect to your database ** EDIT REQUIRED HERE **
mysql_connect("localhost", "user", "password");
mysql_select_db("database") or die("Unable to select database"); //select which database we're using

// Build SQL Query  
$query = "SELECT * FROM tables WHERE field_1 like \"%$trimmed%\" OR field_2 like \"%$trimmed%\"
 order by field_1"; // EDIT HERE and specify your table and field names for the SQL query

$numresults=mysql_query($query);
$numrows=mysql_num_rows($numresults);

// If we have no results, offer a google search as an alternative

if ($numrows == 0)
 {
 echo "<h4>Results</h4>";
 echo "<p>Sorry, your search: "" . $trimmed . "" returned zero results</p>";

// google
echo "<p><a href=\"http://www.google.com/search?q=" 
 . $trimmed . "\" target=\"_blank\" title=\"Look up 
 " . $trimmed . " on Google\">Click here</a> to try the 
 search on google</p>";
 }

// next determine if s has been passed to script, if not use 0
 if (empty($s)) {
 $s=0;
 }

// get results
 $query .= " limit $s,$limit";
 $result = mysql_query($query) or die("Couldn't execute query");

// display what the person searched for
echo "<p>You searched for: "" . $var . ""</p>";

// begin to show results set
echo "Results";
$count = 1 + $s;

// now you can display the results returned
 while ($row= mysql_fetch_array($result)) {
 $title = $row["1st_field"];

 echo "$count.) $title";
 $count++;
 }

$currPage = (($s/$limit) + 1);

//break before paging
 echo "<br />";

 // next we need to do the links to other results
 if ($s>=1) { // bypass PREV link if s is 0
 $prevs=($s-$limit);
 print " <a href=\"$PHP_SELF?s=$prevs&q=$var\"><< 
 Prev 10</a>  ";
 }

// calculate number of pages needing links
 $pages=intval($numrows/$limit);

// $pages now contains int of pages needed unless there is a remainder from division

 if ($numrows%$limit) {
 // has remainder so add one page
 $pages++;
 }

// check to see if last page
 if (!((($s+$limit)/$limit)==$pages) && $pages!=1) {

 // not last page so give NEXT link
 $news=$s+$limit;

 echo " <a href=\"$PHP_SELF?s=$news&q=$var\">Next 10 >></a>";
 }

$a = $s + ($limit);
 if ($a > $numrows) { $a = $numrows; }
 $b = $s + 1;
 echo "<p>Showing results $b to $a of $numrows</p>";

?>

Link to comment
Share on other sites

×
×
  • Create New...