在非对象上调用成员函数 execute()



所以我的问题是标题中的错误,有我的代码:

jQuery(document).ready(function ($) {
	$("#food_search").keyup(function(event){
		var search_term =$(this).val();
$.ajax({
	type:"POST",
	url:"Mypage",
	data:{'fsearch':search_term},
	success:function(res){
		$("#food_search_result").html(res);
		console.log(res);
	},
	error: function (xhr, ajaxOptions, thrownError) {
           alert(xhr.status);
           alert(xhr.responseText);
           alert(thrownError);
       }
});
	});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!----------------------------------------------------------------
                              HTML
----------------------------------------------------------------->
<form method="post">
<p>Търсене на храни: <input type="text" name="fsearch" id="food_search"></p>
</form>
<!----------------------------------------------------------------
                              PHP
----------------------------------------------------------------->
<?php
$hostname = "localhost";
$username = "name";
$password = "pass";
$databaseName = "dbname";
$connect = mysqli_connect($hostname, $username, $password, $databaseName);
if(!empty($_POST["fsearch"])) {
$req = $connect->prepare('SELECT * FROM food_data_bg WHERE title LIKE "%".$fsearch."%"');
$req->execute(array(
'title'=>'%'.$_POST['fsearch'].'%'
));
if($req->rowCount()==0){
echo 'Не бяха намерени резултати!';
}
else{
while($data=$req->fetch()){
?>
<div class="search-result">
    <img src="<?php echo $data['fimage']; ?>" class="fimage"/>
    <span class="result-title"><?php echo $data['title'] ;?></span><br>
    <span class="calories-total"><?php echo $data['calories total'] ;?></span><br>
</div>
<?php
}
}
}
?>

该代码用于即时搜索(谷歌喜欢)。$req变量必须只从数据库获取信息,就像 jquery 通过 ajax 传递给 PHP 的变量search_term,PHP 必须检查是否有与输入字段中写的东西对应的单词或短语。

谢谢!

$fsearch = $connect->real_escape_string($_POST['fsearch']);
$req = $connect->query("SELECT * FROM food_data_bg WHERE title LIKE %{$fsearch}%");
while($row=$req->fetch_array()){
    //output function  data: $row['title'], $row['calories total'], etc
}

Mysqli 文档

我通过添加一个变量$fsearch并修复我的查询调用来修复它,因为"%".$fsearch。%"'不对,我写了'".$fsearch。%'",正如我所说,添加了这样的 var $fsearch:我尝试过$fsearch = $_POST['fsearch'];它是否适用于

if($req) {
//code if it return true (if it is working)
}else{
//code if it return false(not working)
}

现在它恢复为真,这意味着查询正在工作,但给了我其他

错误:mysqli_stmt::execute() 期望正好 0 个参数,给定 1

好吧,我会问其他问题。感谢您的帮助!

最新更新