因此,在将所有文件传输到服务器后,我遇到了这个问题。
问题:我的主页上有10个项目。其中3个在描述中包含单词“chair”。当我尝试搜索时,让我在本地主机上说“主席”,浏览器输出10个应有的项目。但是,当我在托管服务器上执行相同操作时,它会输出所有10个项目,但首先列出的单词“chair”。
搜索代码.php:
$query = $_GET['query'];
$min_length = 3;
$max_length = 300;
if(strlen($query) >= $min_length)
{
$query = htmlspecialchars($query);
$query = mysql_real_escape_string($query);
$result = mysqli_query($connecDB,"SELECT * FROM items WHERE title LIKE '%".$query."%' OR description LIKE '%".$query."%'");
if(mysqli_num_rows($result) > 0)
{
$success = "Results for: $query";
while($row = mysqli_fetch_array($result))
{
if (strlen($row['description']) > $max_length)
{
$offset = ($max_length - 3) - strlen($row['description']);
$s = substr($row['description'], 0, strrpos($row['description'], ' ', $offset)) . '...';
} else {
$s = $row['description'];
}
$output = '
<div class="box">
<a href="items/'.$row['id'].'" class="items">
<img src="uploads/thumbs/'.$row['cat_name'].'/'.$row['id'].'/'.$row['image_id'].'.'.$row['item_ext'].'" width="230" height="320">
<div class="art_frame_description">
<h3>'.$row['title'].'</h3>
<h2>'.$s.'</h2>
<h4>£'.$row['price'].'</h4>
</div>
</a>
</div>
';
echo($output);
}
}
else{
$message = "Nothing found for '".$query."'";
}
}
else{
$message = "Your searched word '".$query."' must be longer than ".$min_length. " characters";
}
有没有人能发现导致这个问题的原因?
已编辑:全部已排序,此主题可以关闭。 问题是由“$ query = mysql_real_escape_string($ query);”引起的代码。