gpt4 book ai didi

php - 将 SQL 语句插入 PHP 变量

转载 作者:行者123 更新时间:2023-11-29 17:45:59 25 4
gpt4 key购买 nike

我正在尝试将 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.S 仍在努力学习使用别名,所以我提前道歉。

最佳答案

我刚刚了解到“Where”关键字应该放在最后。学过的知识!

$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."%' ";

关于php - 将 SQL 语句插入 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49824890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com