警告: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
答案 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