我在网站上有搜索功能,我试图通过第一个字母返回数据库中的所有艺术家。这是我的代码:
$connect = mysqli_connect($host_name, $user_name, $password, $database);
$arr = array();
$keywords = $connect->real_escape_string($_POST["keywords"]);
$sql = "SELECT * FROM `karaoke` WHERE `artist` LIKE '" . $keywords . "%'";
$result = $connect->query($sql) or die($mysqli->error);
if ($result->num_rows > 0) {
while ($obj = $result->fetch_object()) {
$arr[] = array("artist" => $obj->artist, "song" => $obj->song);
}
}
echo json_encode($arr);
如果关键字是2个或更多字母,此搜索工作正常,但当我尝试只搜索一个字母时,我得不到任何结果。我已经尝试登录到phpMyAdmin控制台并在那里进行搜索,但它运行正常。任何想法为什么它不会将结果返回到我的search-alpha.php?
答案 0 :(得分:0)
我的猜测是在表单端填充输入字符串并且2个或更多字符输入正在打破阈值。我按照评论中的建议转储字符串。