我想在密钥上进行即时搜索(google like)Jquery ajax必须从HTML输入字段到PHP的值,并且PHP必须在SQL表格中命名为“title”,用于任何开头或包含书面文字/字母的单词,如果没有找到任何东西,它必须在div中打印出结果。
以下是一个例子:
图片说明:Up是输入字段,下方是打印结果的框,因为我们可以看到它正在工作,但是PHP不希望从SQL获取数据,只打印结果保加利亚语的0值(Nothing Found)。
有我的代码:
<?php
$hostname = "localhost";
$username = "shreddin";
$password = "!utf55jyst";
$databaseName = "shreddin_nation";
$connect = new mysqli($hostname, $username, $password, $databaseName);
$fsearch = "";
if (!empty($_POST['fsearch'])) {
$fsearch = $_POST['fsearch'];
$req = $connect->prepare("SELECT title FROM food_data_bg WHERE title LIKE ?");
$req->bind_param('s', $fsearch);
$req->execute();
if ($req->num_rows == 0) {
echo 'Не бяха намерени резултати!';
}
else {
while ($row = $req->fetch_array()) {
?>
<div class = "search-result">
<span class = "result-title">
<? php
echo $row['title'];
?>
</span><br>
</div>
<?php
}
}
}
?>
代码工作到else {...}
只有这部分不起作用..; /
我尝试在else {...}
之后使用echo一些结果,因为我认为这是我的代码的一个问题,但它无论如何都无法工作......有人可以向我解释我的错误在哪里(请用简单的语言)我不擅长用PHP编写代码。
我不会把Jquery和HTML放在这里因为一切正常,post方法都很好,问题在于php。但是当然如果你需要它来帮助我,我会毫无问题地粘贴它。
答案 0 :(得分:1)
被修改
$value = '%'.$fsearch.'%;
$req->bind_param('s', $value);
它会起作用:)
答案 1 :(得分:0)
<?php
$hostname = "localhost";
$username = "username";
$password = "pass";
$databaseName = "dbName";
$connect = new mysqli($hostname, $username, $password, $databaseName);
$fsearch="";
if(!empty($_POST['fsearch'])) {
$fsearch = $_POST['fsearch'];
$req = $connect->prepare("SELECT title FROM food_data_bg WHERE title LIKE ?");
$value = '%'.$fsearch.'%';
$req->bind_param("s", $value);
$req->execute();
$req->store_result();
if ($req->num_rows == 0){
echo 'Няма резултати';
}
else{
echo 'ДАА';
}
}
确定!这是最终的结果,它是在找到结果时打印ДАА和Нямарезултати当没有任何结果修复它1个月的痛苦后lol感谢所有帮助我的人&lt; 3&lt; 3&lt; 3&lt; 3&lt; 3&lt; 3&lt; 3&lt; 3&lt; 3&lt; 3&lt; 3&lt; 3&lt; 3&lt; 3&lt; 3 3 <3