gpt4 book ai didi

php - Laravel 5.3 中的 SQL 搜索查询错误

转载 作者:行者123 更新时间:2023-11-30 22:06:48 24 4
gpt4 key购买 nike

我正在尝试构建搜索查询。我得到以下错误,似乎是 sql 的语法错误。

SQLSTATE[HY093]: Invalid parameter number (SQL: select * from products where styles = Abstract , Abstract and subject = ? )

为什么会出现这个错误?如何弄清楚?

我的代码如下

if (isset($request->search)) { 

//GET ALL INPUT FROM THE REQUEST
$query_strings = $request->all();

//PULL OUT ANY EMPTY FIELD FROM THE REQUEST
$filtered_array = array_filter($request->all());

//remove the last item
array_pop($filtered_array);

//BUILD A QUERY
$sql = array();
$values = array();
$x = 1;
foreach ( $filtered_array as $key =>$value ) {
if($x < count($filtered_array)){
$sql[]=" $key = ? and ";
$values[] =" $value , ";
} else {
$sql[]=" $key = ? ";
$values[] =" $value ";
}
$x++;
}

$fields = join(' ', $sql);
$v = join(' ',$values);

dd( \DB::select("select * from products where {$fields} ", [$v]));

}

最佳答案

当你传递一些值时,你应该添加 ? 占位符:

\DB::select("select * from products where ?", [$value]));

关于php - Laravel 5.3 中的 SQL 搜索查询错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41431063/

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