2017-01-29 40 views
-3

所以我的問題是錯誤到標題上,有我的代碼:調用一個成員函數的execute()非對象

jQuery(document).ready(function ($) { 
 
\t $("#food_search").keyup(function(event){ 
 
\t \t var search_term =$(this).val(); 
 
$.ajax({ 
 
\t type:"POST", 
 
\t url:"Mypage", 
 
\t data:{'fsearch':search_term}, 
 
\t success:function(res){ 
 
\t \t $("#food_search_result").html(res); 
 
\t \t console.log(res); 
 
\t }, 
 
\t error: function (xhr, ajaxOptions, thrownError) { 
 
      alert(xhr.status); 
 
      alert(xhr.responseText); 
 
      alert(thrownError); 
 
     } 
 
}); 
 
\t }); 
 
});
<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變量必須只從db獲取信息,就像變量search_term通過jquery通過ajax傳遞給php,並且php必須檢查是否有與輸入字段中寫入的東西相對應的單詞或短語。

謝謝!

+0

我把這段代碼添加到我的代碼中,它說'mysqli_connect'找不到 –

+0

對不起,它是'$ connect = new mysqli($ hostname,$ username,$ password,$ databaseName);'你必須在面向對象時尚太 –

回答

0
$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 docs

+0

你好,歡迎來到Stackoverflow。請爲您的答案添加一些解釋,以便對其他用戶更有價值。請參閱http://stackoverflow.com/help/how-to-answer – wmk

0

我固定它,通過增加變量$ fsearch和固定我的查詢電話,因爲 「%」。$ fsearch。 「%」 '是不正確的我所著'」。$ fsearch 「%「」正如我所說添加變量$ fsearch這樣的:$fsearch = $_POST['fsearch'];我想是它與

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

工作,現在returs真這意味着查詢工作,但給了我其他

error:mysqli_stmt::execute() expects exactly 0 parameters, 1 given

那麼我會問其他問題。 感謝您的幫助!

相關問題