gpt4 book ai didi

php - PDO 查找数组值与多个列值匹配的位置

转载 作者:行者123 更新时间:2023-11-29 04:34:27 24 4
gpt4 key购买 nike

我正在尝试运行查询以查找给定的搜索词是否与数据库中三列的任何值匹配。第一列返回正确的结果集(即机场 icao 代码列),但其他两列不返回任何内容。

$inQuery = join(",",array_fill(0,count($search_terms),"?"));

$stmt = $wacdbpdo->prepare("
SELECT
*
FROM airportdetails
WHERE airport_icao_code IN ($inQuery)
OR airport_iata_code IN ($inQuery)
OR airport_faa_code IN ($inQuery)
" );
$stmt->execute($search_terms);

但是我确实遇到了这个错误。查询是否试图通过添加到 $inQuery 字符串值而不是返回到每一列的字符串开头来读取?我该如何处理?有没有更好的方法来编写这个查询?我是 PDO 的新手,我想我可能以完全错误的方式编写此查询?任何帮助表示赞赏..

Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in ...

最佳答案

每个占位符都需要一个术语。由于您有三组占位符,因此您应该将条款绑定(bind)三次。

$stmt->execute(array_merge($search_terms, $search_terms, $search_terms));

关于php - PDO 查找数组值与多个列值匹配的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47415085/

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