Вставка оператора SQL в переменную PHP

0

Я пытаюсь вставить SQL-элемент в переменную. В заявлении содержатся ключевые слова, введенные пользователем в строке поиска. Однако по какой-то причине я могу продолжать получать ошибку "Попытка получить свойство не-объекта". Ниже мой код:

public function searchTable() {                  
      $sql = "SELECT grades_eng.Grade, domain_math_eng.Domain, cluster_eng.Cluster, math_standards_eng.Standard FROM ".$this->standardsTable." 
              WHERE Standard LIKE '%".$this->keyword." %'
              INNER JOIN grades_eng ON math_standards_eng.Grade_Id = grades_eng.Id 
              INNER JOIN domain_math_eng ON math_standards_eng.Domain_Math_Eng_Id = domain_math_eng.Id
              INNER JOIN cluster_eng ON math_standards_eng.Cluster_Eng_Id = cluster_eng.Id";

      $results = $this->conn->query($sql);
      //returns array
      return $results;
      }

Код используемого объекта:

$search = new SearchResult($conn, $subject, $keyword);
$queryResults = $search->searchTable();
$search->displayResults($queryResults);

Я уверен, что это мой запрос sql, вызывающий ошибку, потому что, когда я использую следующий код, он отображает результаты:

$sql = "SELECT * FROM ".$this->standardsTable." WHERE Standard LIKE '%".$this->keyword."%' ";
$results = $this->conn->query($sql);

Im Попытка показать те же результаты, но заменить идентификаторы фактическим текстом. Запрос работает, когда я запускаю его в MySql.

PS Все еще работаю над обучением использованию псевдонимов, поэтому заранее извиняюсь.

  • 1
    Вы должны использовать параметризованные запросы и использовать отчеты об ошибках, чтобы драйвер сообщал вам, что это за ошибка.
Теги:

1 ответ

0

Я только что узнал, что ключевое слово "Где" должно было идти к концу. Урок выучен!

$sql = "SELECT grades_eng.Grade, domain_math_eng.Domain, cluster_eng.Cluster, math_standards_eng.Standard FROM ".$this->standardsTable." 
      INNER JOIN grades_eng ON math_standards_eng.Grade_Id = grades_eng.Id 
      INNER JOIN domain_math_eng ON math_standards_eng.Domain_Math_Eng_Id = domain_math_eng.Id
      INNER JOIN cluster_eng ON math_standards_eng.Cluster_Eng_Id = cluster_eng.Id
      WHERE Standard LIKE '%".$this->keyword."%' ";

Ещё вопросы

Сообщество Overcoder
Наверх
Меню