2015-10-21 3 views
0

Я хотел бы изменить функцию ниже filter records в таблице, имеют столбец «тип» равно «HOD»Изменить SQL-запрос для фильтрации результатов

public function getHOD() { 

     $query = $this->pdo->prepare('SELECT * FROM `' . $this->table . 'WHERE type=hod`;'); 
     $query->execute(); 

     if ($query->rowCount() == 0) return null; 

} 

У меня возникают проблемы, выяснить, как добавить WHERE type = hod в запросе?

ответ

0

Использование в кавычки

$query = $this->pdo->prepare("SELECT * FROM `" . $this->table . "` WHERE type='hod'"); 
+0

Это возвращает ошибку: Array ([0] => 42S02 [1] => 1146 [2] => Таблица «db_name .table_name WHERE type = 'hod' 'не существует) – cpcdev

0

Похоже, пространство отсутствует в 'WHERE, который должен сказать' WHERE. И hod, если это строка должна иметь кавычки в SQL.

0

Попробуйте

$query = $this->pdo->prepare("SELECT * FROM `" .$this->table. "` WHERE type='hod'"); 
+0

Возвращает ошибку: Array ([0] => 42S02 [1] => 1146 [2] => Таблица' db_name.table_name WHERE type = 'hod '' не существует) – cpcdev

+0

plz print ** $ this-> table ** и имя таблицы проверки правильное или нет @cpcdev –

+0

Да, имя таблицы правильно – cpcdev

1

Вот несколько вещей, которые вам нужно исправить:

  1. Вы добавили `перед именем таблицы, но не после того, как
  2. Вам нужно пространство перед WHERE
  3. Вам необходимо добавить ' около hod

Если я ничего ваш запрос должен выглядеть так, не пропустите:

$query = $this->pdo->prepare("SELECT * FROM `" . $this->table . "` WHERE type='hod'"); 
+0

Спасибо! Это сработало – cpcdev

Смежные вопросы