Php 搜索功能工作,但在执行搜索时显示随机数据
我安装了一个非常简单的搜索脚本,它执行它应该执行的操作,但当它返回结果时,它会在返回的数据结果之前显示此信息: 对象(mysqli_结果)#2(5){[“当前_字段”]=>int(0)[“字段计数”]=>int(36)[“长度”]=>NULL[“num_行”]=>int(1)[“类型”]=>int(0)} 我能做些什么来避免这种情况发生吗 以下是search.php页面:Php 搜索功能工作,但在执行搜索时显示随机数据,php,search,mysqli,Php,Search,Mysqli,我安装了一个非常简单的搜索脚本,它执行它应该执行的操作,但当它返回结果时,它会在返回的数据结果之前显示此信息: 对象(mysqli_结果)#2(5){[“当前_字段”]=>int(0)[“字段计数”]=>int(36)[“长度”]=>NULL[“num_行”]=>int(1)[“类型”]=>int(0)} 我能做些什么来避免这种情况发生吗 以下是search.php页面: <?php $con=mysqli_connect("xxxx","xxxx","xxxx","xxxx") or
<?php
$con=mysqli_connect("xxxx","xxxx","xxxx","xxxx") or die('Error connection');
$data = '';
if(isset($_POST['search']))
{
$keyword = $_POST['search'];
$keyword = preg_replace("#[^0-9a-z]#i","",$keyword);
$query = "SELECT * FROM characters WHERE name LIKE '%$keyword%' ORDER BY name";
$result = mysqli_query($con,$query);
var_dump($result);
$count = mysqli_num_rows($result);
if($count>0)
while($row = mysqli_fetch_array($result))
{
$data = $data."<div>".$row['name']."</div>";
}
}
?>
<?php echo $data; ?>
我明白了!谢谢你的帮助 如果没有任何ORDERBY子句,结果总是以任意顺序出现。SQL承诺返回正确的集合,但集合不必按任何特定顺序排列,除非您明确指定其他顺序。@GordonM我在此处以及页面上用order BY子句更新了上述代码。在执行搜索并返回结果时仍然显示该数据,但是,顺便说一句,如果这是一个真正的应用程序,请不要使用MySQL。如果您需要搜索,请在MySQL中创建全文索引或使用类似Solr/Elasticsearch的内容。@DougT。我不认为我需要像Elasticsearch这样大的东西——这是一个文本RPG游戏,搜索只是为了搜索角色或玩家姓名。这就是为什么我想让它保持简单。去掉var_dump($result)。