制作搜索引擎时的PHP警告

时间:2017-10-14 06:38:59

标签: php mysql search warnings

警告:mysql_num_rows()要求参数1为资源,第29行/storage/ssd5/102/3255102/public_html/search.php中给出布尔值

我的代码:

<?php
   $button = $_GET [ 'submit' ];
   $search = $_GET [ 'search' ]; 

   if( !$button )
         echo "you didn't submit a keyword";
   else {
         if( strlen( $search ) <= 1 )
                echo "Search term too short";
         else {
                echo "You searched for <b> $search </b> <hr size='1' > </ br > ";
                mysql_connect( "localhost","id3255102_data","I AM NOT GOING TO TELL YOU MY PASS!") ; 
                mysql_select_db("id3255102_base");

                $search_exploded = explode ( " ", $search );
                $x = 0; 
                foreach( $search_exploded as $search_each ) {
                       $x++;
                       $construct = "";
                       if( $x == 1 )
                              $construct .="keywords LIKE '%$search_each%'";
                       else
                              $construct .="AND keywords LIKE '%$search_each%'";
                }

                $construct = " SELECT * FROM SEARCH_ENGINE WHERE $construct ";
                $run = mysql_query( $construct );

                $foundnum = mysql_num_rows($run);

                if ($foundnum == 0)
                       echo "Sorry, there are no matching result for <b> $search </b>. </br> </br> 1. Try more general words. for example: If you want to search 'how to create a website' then use general keyword like 'create' 'website' </br> 2. Try different words with similar  meaning </br> 3. Please check your spelling"; 
                else {
                       echo "$foundnum results found !<p>";

                       while( $runrows = mysql_fetch_assoc( $run ) ) {
                              $title = $runrows ['title'];
                              $desc = $runrows ['description'];
                              $url = $runrows ['url'];

                              echo "<a href='$url'> <b> $title </b> </a> <br> $desc <br> <a href='$url'> $url </a> <p>";

                       }
                }

         }
   }
?>

我等了这么久,所以请帮助我。

PHP版本:5.6 教程:http://mrbool.com/how-to-create-your-own-search-engine-with-php-and-mysql/32733

1 个答案:

答案 0 :(得分:0)

您的问题与 $ construct =&#34;&#34; ;有关。 &安培; $ construct。=&#34; AND关键字LIKE&#39;%$ search_each%&#39;&#34; ;

你$ build在循环中设置为空,之后你的查询运行如下:

  

SELECT * FROM SEARCH_ENGINE WHERE AND keywords LIKE&#39;%$ search_each%&#39;

.tmp/localDiskDb.db