0

我有这个简单的代码来从数据库中选择自定义字符串:

protected function getListQuery()
{

              $db = JFactory::getDBO();
              $query = $db->getQuery(true);

              $query->select('*')
                    ->from('#__person');

              $name = 'tom';

              $query->where('name LIKE %'.$db->quote($name).'%');

              return $query;
} 

不幸的是,它给了我一个错误:

警告:mysql_num_rows() 期望参数 1 是资源,布尔值在第 293 行的 xxx\public\libraries\joomla\database\database\mysql.php 中给出

如果我删除where呼叫,那么一切都会好起来的。我可以调试数据查询吗?我想看看最终查询到 MySQL 服务器是什么。

您的帮助将不胜感激。

4

1 回答 1

1

我设法为我工作:

protected function getListQuery()
{

    $db = JFactory::getDBO();
    $query = $db->getQuery(true);

    $query->select('*')
          ->from('#__person');

    $name = 'tom';

    $name = $db->Quote('%'.$db->escape($name, true).'%');
    $query->where($db->nameQuote('name').' LIKE '.$name);


    //debug the query  
    // echo nl2br(str_replace('#__','prefix_',$query)); die;

    return $query;

}

于 2012-12-07T13:48:41.420 回答