2011-01-21 31 views
0
$id='gsf'; 
$stmt=$mysqli->prepare('SELECT `title` FROM `post` WHERE (`content` LIKE `%?%`) and accepted=0 order by count desc Limit 0,5'); 
     $stmt->bind_param('s',$id); 
     $stmt->execute(); 
     $stmt->bind_result($title); 
     while($stmt->fetch();) 
    { 
     echo $title."<br>";   
     } 
     $stmt->close(); 
     $mysqli->close(); 

這是一個PHP代碼段母雞我執行它,我得到這個錯誤調用一個成員函數bind_param()對我失去了什麼出?Mysql的像bind_param()非對象</p> <p>在非對象

+0

'%'%是事情引起我應該使用什麼問題 –

+0

? 我應該測試$ id =「%gsf」; –

回答

3

試試這個:

$stmt=$mysqli->prepare('SELECT `title` FROM `post` WHERE (`content` LIKE ?) and accepted=0 order by count desc Limit 0,5'); 

$stmt->bind_param('s',$id); 

$id = '%gsf%'; //The **%** go here 

$stmt->execute(); 
$stmt->bind_result($title); 

while($stmt->fetch()) { 
     echo $title."<br>";   
} 

$stmt->close(); 
$mysqli->close(); 
0

你的SQL是erronous,從而$stmt不是一份準備好的聲明。分析$mysqli->errno$mysqli->error的內容以在您的SQL查詢中找到問題。