я хочу получить это из базы данных mysql, используя php фреймворка codeigniter? - PullRequest
0 голосов
/ 12 апреля 2011

Я хочу получить это через модель

SELECT `id`, `name`, `visits`, `shortdes`, `photo` FROM `products`
         WHERE  `name` LIKE '$word'
         OR `shortdes` LIKE '$word' ANd  `valid` = 1 ORDER BY `id` DESC

Я использовал это, но он вернул false

$this->db->order_by('id', 'desc');
$this->db->like('name', $word);
$this->db->or_like('shortdes', $word);
$this->db->where('valid', 1);
$this->db->select('id, name, visits, shortdes, photo');
$query = $this->db->get('products');

Что я могу использовать?

Ответы [ 2 ]

0 голосов
/ 12 апреля 2011

Вы должны упорядочивать запросы активных записей так же, как вы заказываете обычный запрос SQL ...

SELECT

WHERE

order_by

$this-> db-> получить (х);- что эквивалентно FROM.

IE:

<?php
$this->db->select('id, name, visits, shortdes, photo');
$this->db->where('valid', 1);
$this->db->like('name', $word);
$this->db->or_like('shortdes', $word);
$this->db->order_by('id', 'DESC');
$query = $this->db->get('products');
if ($query->num_rows() > 0)
{
   $row = $query->row(); 

   echo $row->id;
   echo $row->name;
   echo $row->visits;
     etcetc...
}

Или вместо использования активных записей вы можете просто использовать полный запрос.

$query = $this->db->simple_query('YOUR QUERY HERE');

Использоватьследующие страницы руководства пользователя для получения дополнительной документации:

активные записи: http://codeigniter.com/user_guide/database/active_record.html

результаты запроса: http://codeigniter.com/user_guide/database/results.html

0 голосов
/ 12 апреля 2011

Для отладки запросов построителя запросов codeigniter я обычно рекомендую делать что-то подобное, чтобы отлаживать их и точно видеть, какой запрос производят операторы.

$this->db->order_by('id', 'desc');
$this->db->like('name', $word);
$this->db->or_like('shortdes', $word);
$this->db->where('valid', 1);
$this->db->select('id, name, visits, shortdes, photo');
$query = $this->db->get('products');

echo "<pre>"
die(print_r($this->db->last_query(), TRUE));

При запуске он выводит фактический необработанный SQL-запрос, и вы можете отлаживать его оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...