gpt4 book ai didi

php - 使用循环为 WHERE 子句创建查询

转载 作者:行者123 更新时间:2023-11-29 04:14:46 25 4
gpt4 key购买 nike

我正在尝试为 where 子句使用循环来构建 MySQL 查询。我有一个解决方案,但我觉得应该有更好的解决方案。我的代码如下

$query = 'SELECT * FROM `t1` WHERE';
$names = ['John','Steve','Robert'];

foreach($names as $name){
$query .= " `name` = '$name` OR";
}

echo $query;

在这种情况下,查询以“OR”结尾,这使其无效。我的解决方案是使用

echo rtrim($query," OR");

我觉得应该有一种更简洁的方式来做这件事。有什么建议吗?

最佳答案

您可以使用 where injoin 修复您的查询.在你的情况下应该是:

$query = 'SELECT * FROM `t1` WHERE name IN (\'' . join($names,'\',\'') . '\')';

注意:join 是 implode 的别名。它有助于代码的可读性。小心 SQL 注入(inject)。您可能想要验证输入或使用 PDO。

关于php - 使用循环为 WHERE 子句创建查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57600770/

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