Codeigniter无法在某些char中搜索数据库

时间:2015-07-09 05:59:41

标签: php codeigniter

我尝试使用活动记录codeigniter以及自定义查询和大量循环数据但在某些字符串中未定义错误,但对于另一个字符串工作正常。

这是我的帮助代码

function getDealerList($link)
{   
$CI =& get_instance();
$CI->db->select('*');
$CI->db->from('dealer_list');
$CI->db->like('link',$link);
$query = $CI->db->get();
$data = $query->result();
return $data[0]->id_dealer;
}

我打电话给我的控制器

echo getDealerList('bsb-swiss-watches-(albert-mazloum-and-son)');

显示错误

  

遇到PHP错误严重性:通知消息:未定义   offset:0文件名:helpers / web_helper.php行号:51

我假设某些字符串包含"("或")"这使我的脚本错误。

有人可以帮忙修复这个错误吗?

由于

2 个答案:

答案 0 :(得分:0)

我修改了你的功能,现在它可以工作了。请检查。

function getDealerList($link)
{
$CI = & get_instance();
$CI->db->select('*');
$CI->db->from('dealer_list');
$name = $link;
$CI->db->like('link', $link);
$query = $CI->db->get();
$data = $query->result_array();
return $data[0]->id_dealer;
}

答案 1 :(得分:0)

$query->result()

This method returns the query result as an array of objects, or an empty array on failure.

您需要使用row_array()

获取数据

<强> HELPER

function getDealerList($link) {
    $CI = & get_instance();
    $CI->db->select('*');
    $CI->db->from('dealer_list');
    $CI->db->like('link', $link);
    $query = $CI->db->get();
    if ($query->num_rows() > 0) {
        $row = $query->row_array();

        return $row['id_dealer'];
    } else {
        return FALSE;
    }
}