моя команда sql внутри codeigniter не работает - PullRequest
0 голосов
/ 21 июля 2011

Я протестировал эту функцию, но она не работает, и результат запроса не получен. Что случилось, я новичок. Есть ли альтернативы AR? Я пытаюсь создать мини-поисковик. Большое спасибо заранее.

function search($terms)
{
  $sql = "SELECT * FROM products 
          WHERE name LIKE '%$terms%' 
            OR image LIKE '%$terms%' 
            OR code LIKE '%$terms'");
    $query = $this->db->query($sql, array($terms, $terms));
    return $query->result();
}

1 Ответ

0 голосов
/ 21 июля 2011

Чтобы связать ваш запрос с данными, переданными в функцию, вам нужно сделать следующее:

$sql = "SELECT * FROM products 
          WHERE name LIKE ? 
            OR image LIKE ?
            OR code LIKE ?";

$this->db->query($sql, array($terms,$terms,$terms));

Также в нашем размещенном коде удалите лишние скобки из строки $ sql, и вы связываете только два значения, когда для запроса требуется 3

Попробуйте это:

$sql = "SELECT * FROM products 
          WHERE name LIKE ? 
            OR image LIKE ?
            OR code LIKE ?";
$this->db->like('name', $terms);
$this->db->like('image', $terms);
$this->db->like('code', $terms);
$query=$this->db->get();
...