我尝试根据用户输入对数据库进行查询,因为我在单个表单中有多个输入,这是一个更复杂的。
我决定检查输入是否填充如下:
$query = "";
if((trim($searchParams->firstname)))
$query .= "firstname,";
对我来说正常工作,在我检查每个输入后,我将,
的字符串分解为数组并预告它
$querys = explode(",", $query);
foreach($querys as $q)
{
...
}
什么基本上创建了所有填充输入的数组,但只是他们的名字基于我需要获得的值。 所以我尝试添加这样的东西来查询
$searchParams->$q;
但这不起作用(说它是空的,尽管如果我在它被填满之前回应它)
我尝试做一些非常糟糕的事情:
$param = "$searchParams->".$q;
$values .= $param;
说
类的对象无法转换为字符串(如果我var_dump($ q)它说它的字符串,所以我不明白)
我认为我做得非常糟糕,但这是我发现的唯一有用的东西。任何修复此问题的建议都会有所帮助。
P.S。以下是最终查询的外观:
"SELECT * FROM candidates WHERE firstname = ? AND surname = ?" ,$searchParams->firstname, $searchParams->surname