新手整php搜尋引擎求教

本帖最後由 Keeper 於 2010-1-23 13:44 編輯

search.php
  1. <?php

  2. //get data
  3. $button = $_GET['submit'];
  4. $search = $_GET['search'];

  5. if (!$button)
  6.     echo "You didn't sumbit a keyword.";
  7. else
  8. {
  9.     IF (strlen($search)<=2)
  10.         echo "search term too short.";
  11.     else
  12.         {
  13.         echo "You searched for <b>$search</b><hr size='1'>";

  14.         //connect to our database
  15.         mysql_connect("localhost","root","*******");
  16.         mysql_select_db("phpacademy");

  17.         $get = mysql_query ("select * from searchengine");
  18.          while ($getrow = mysql_fetch_assoc($get))
  19.          {
  20. //explode our searcg tern
  21.              $search_exploded = explode(" ",$Search);
  22.               
  23.               foreach($search_exploded as $search_each)
  24.               {
  25.                  //construt query
  26.                  $x++;
  27.                  if ($x==1)
  28.                    $construct .= "keywords LIKE '%$search_each%'";
  29.                  else
  30.                    $construct .= "OR keywords LIKE '%$search_each%'";
  31.               }
  32.   }

  33. }       //echo out construct

  34.           $construct = "SELECT * FROM searchengine WHERE $construct";
  35.           $run = mysql_query($construct);

  36.           $foundnum = mysql_num_rows($result);

  37.           if ($foundnum==0)
  38.             echo "No results found.";
  39.           else
  40.           {
  41.               echo "$foundnum results!<P>" ;
  42.            
  43.               while ($runrows = mysql_fetch_assoc($run))
  44.               {
  45.               //get data
  46.               $title = $runrows('title');
  47.               $desc = $runrows('description');
  48.               $url =  $runrows('url');

  49.               echo "
  50.               <b>$title</b><br>
  51.               $desc<br>
  52.               <a href='$url'>$url</a><p>
  53.               ";

  54.              }
  55.           }
  56. }
  57. ?>
複製代碼
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\search.php on line 43
No results found.
佢出左呢個錯誤,請問是什麼問題?

43行 $result 未定義?

TOP

43行 $result 未定義?
bibilubi 發表於 2010-1-22 14:47

果個本身係$RUN黎,咁我應該改咩先冇呢個錯誤?
唔該!

TOP

回復 3# Keeper


    $result = mysql_query($construct);

    $foundnum = mysql_num_rows($result);

TOP

SELCT

....打錯字?!

TOP

仲有 Line 40,串錯字
$construt > $construct

TOP

唔該晒上面3位朋友,
回復  Keeper


    $result = mysql_query($construct);

    $foundnum = mysql_num_rows($result); ...
lin7 發表於 2010-1-22 22:44

另外我想問加去邊個位?
再次唔該晒幫過我既朋友,我要再努力d背返d code 先得....thx!!

TOP

回復 7# Keeper

Line 41.
  1. $run = mysql_query($construct);
複製代碼
改做
  1. $result = mysql_query($construct);
複製代碼

TOP

原來我打錯左好多字...
終於攪掂左呢part,但係有另一個問題...
我打d資料庫冇既keywords,唔合符既資料都會出黎.....
究竟係咩問題?
唔該

TOP

你最重要的是學會debug
例如直接在mysql client test句sql statement
出error要知去邊度找到解答(php.net/google)
在出錯後echo variable出來看是否和預想值相同等
若果一個error一個post那你永遠唔會有進步

TOP