我正在尝试将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);
我试图显示相同的结果,但替换为实际文本的ID。当我在mysql中运行查询时,它确实可以工作。
p、 她还在学习使用化名,所以我提前道歉。
1条答案
按热度按时间gcxthw6b1#
我刚刚了解到,“where”关键字应该放在最后。吸取教训!