【发布时间】:2021-05-14 17:59:13
【问题描述】:
我的代码是这样的:
elseif ($criteria == 'doctoratedegree')
$query->where('postgradcourses', 'LIKE', '%' . $searchItem . '%');
所以基本上在前端,一个人会在表单下拉菜单中选择“博士学位”,然后输入他们要搜索的课程,代码会在课程数据库的 postgradcourses 列中查找课程桌子。问题是,菜单中的 Masters degree 选项的编码方式与在 postgradcourses 列中的代码相同。
如何修改查询代码,使其搜索:PhD in . $搜索项。 ?
基本上,代码将添加一个特定的字符串以及人们搜索的任何内容。
【问题讨论】:
-
您不要修改 SQL 代码。您在准备好的查询中传递一个参数。否则你很容易受到 SQL 注入攻击
-
@Charlieface ok 那么我将如何修改上面的代码来创建一个带参数的准备好的查询?
-
@Charlieface 这是参数化的。 laravel中
where的第三个参数是一个值。 -
可能是
elseif(in_array($criteria, array('doctoratedegree', 'phd'))) {?不太清楚你有什么和你想要什么..你能添加更多细节 -
@user3783243 不确定您需要什么详细信息。现在,查询进入表的列并搜索用户输入的搜索项。我想在搜索项上添加特定文本,但不知道如何更改代码。