sql选择第一个字母不起作用

时间:2017-05-09 22:32:38

标签: php mysql

我在网站上有搜索功能,我试图通过第一个字母返回数据库中的所有艺术家。这是我的代码:

$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?

1 个答案:

答案 0 :(得分:0)

我的猜测是在表单端填充输入字符串并且2个或更多字符输入正在打破阈值。我按照评论中的建议转储字符串。