2012-11-26 55 views
2

我正在使用这个脚本,除了这样一个事实,即当执行实际搜索并且“没有结果”是答案时,我希望脚本显示这样的事实,所有事情都很棒。关于这个PHP脚本查询mysql数据库的输入?

当进行研究以查看失败的位置时,我发现我应该使用MySQLi。我已经在这个脚本2天了,我似乎正在进一步而不是更接近。这里有一点帮助吗?

我所用:

if(empty($_GET['query'])){ 
header ("Location: /same_page"); 
} 
else{ 
//connect 
include 'connection_script.php'; 

//Get the "Term" from the search box 
$query=mysql_real_escape_string($_GET['query']); 

$page_str = "SELECT * FROM $tblname WHERE name like '%$query%' or clan like '%$query%'"; 

$page_query = mysqli_query($con,$page_str)or die(mysql_error($con)); 

while($page_result = mysqli_fetch_assoc($page_query)){$datarow .= " <ul> 
<li>Banned player : <a target='_blank' href=\"http://path/tosomething/here=" . $page_result[name] . " \">" . $page_result[name] . "</a></li> 
<li>Clan Name : " . $page_result[clan] . "</li> 
<li>Reason : " . $page_result[reason] . "</li> 
<li>Posted By : " . $page_result[moderator] . "</li> 
<li>Date & Time : " . $page_result[dateandtime] . "</li> 
<li>Evidence : <a target='_blank' href=\"$page_result[evidence]\">Here</a></li> 
</ul><br />"; 
} 

echo $datarow; 
echo "<br />"; 

include 'dbclose.php'; 
} 

mysql_close($con); 
+3

您不应该在同一脚本中混合使用mysql_和msqli_函数。坚持使用一个,或者更好的移植到PDO – samayo

+0

通过键获取数组值的正确方法是$ page_result ['name']? – lvil

+0

我很快就知道你在说什么对混合是真实的。我并不打算尝试混合两者。我只是简单地发现我不应该再使用mysql_ *。这是我在转换过程中。 – LinuxOwner

回答

0

只需添加条件即可显示某些内容,如果您的查询返回0

 if(empty($_GET['query'])){ 
header ("Location: /same_page"); 
} 
else{ 
//connect 
include 'connection_script.php'; 

//Get the "Term" from the search box 
$query=mysql_real_escape_string($_GET['query']); 

$page_str = "SELECT * FROM $tblname WHERE name like '%$query%' or clan like '%$query%'"; 

$page_query = mysqli_query($con,$page_str)or die(mysql_error($con)); 

if (mysqli_num_rows($page_query) > 0){ 

while($page_result = mysqli_fetch_assoc($page_query)){$datarow .= " <ul> 
<li>Banned player : <a target='_blank' href=\"http://path/tosomething/here=" . $page_result[name] . " \">" . $page_result[name] . "</a></li> 
<li>Clan Name : " . $page_result[clan] . "</li> 
<li>Reason : " . $page_result[reason] . "</li> 
<li>Posted By : " . $page_result[moderator] . "</li> 
<li>Date & Time : " . $page_result[dateandtime] . "</li> 
<li>Evidence : <a target='_blank' href=\"$page_result[evidence]\">Here</a></li> 
</ul><br />"; 
} 

echo $datarow; 
echo "<br />"; 
} else { 
echo 'Your search returned 0 results'; 
} 

include 'dbclose.php'; 
} 

mysql_close($con); 
+0

谢谢你的回应,Dave。当我插入添加的条件时,脚本将不再搜索。所以这一定不是答案。谢谢。 – LinuxOwner

+0

返回标记为[已解决]。我想补充一点,所有的答案其实都是正确的。我的问题仍然是由于我对MySQLi_的新格式缺乏了解。我也想分享一下,我找到了一个使用[这里]的例子(http://www.codeofaninja.com/2012/02/php-ajax-pagination-mysqli-version.html)。 – LinuxOwner

1

您可以检索行与统计:

mysqli_num_rows($page_query); 

只需验证其是否>0来选择显示什么,错误信息或结果