Mysql与非对象上的bind_param()类似

时间:2011-01-21 08:42:17

标签: php mysql mysqli

    $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 Snippet母鸡我执行它我得到这个错误调用非对象上的成员函数bind_param()

我错过了什么?

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

您的SQL是错误的,此$stmt不是准备好的语句。分析$mysqli->errno$mysqli->error的内容以查找SQL查询中的问题。