gpt4 book ai didi

php - 在 PHP 中连接 Mysql 查询

转载 作者:行者123 更新时间:2023-11-29 14:09:43 24 4
gpt4 key购买 nike

我在连接此查询时遇到问题:

$sql.=' WHERE ticket.dept_id IN('.implode(',',$thisuser->getDepts()).') OR ticket.staff_id='.db_input($thisuser->getId());

这样:

AND ticket.brand_id IN('.implode(',',$thisuser->getBrands())

我怎样才能实现这个目标?

最佳答案

您可以将字符串连接在同一行:

$sql.=' WHERE ticket.dept_id IN('.implode(',',$thisuser->getDepts()).') OR ticket.staff_id='.db_input($thisuser->getId()) . ' AND ticket.brand_id IN('.implode(',',$thisuser->getBrands()) . ')';

或者您可以在第二行执行此操作:

$sql.=' WHERE ticket.dept_id IN('.implode(',',$thisuser->getDepts()).') OR ticket.staff_id='.db_input($thisuser->getId());
$sql.=' AND ticket.brand_id IN('.implode(',',$thisuser->getBrands()) . ')';

但是,由于您的原始 WHERE 子句包含 OR,因此您必须确保保持逻辑完整。我建议在连接附加 AND 子句之前将前两个条件括在一组括号中:

$sql.=' WHERE (ticket.dept_id IN('.implode(',',$thisuser->getDepts()).') OR ticket.staff_id='.db_input($thisuser->getId()) . ')';
$sql.=' AND ticket.brand_id IN('.implode(',',$thisuser->getBrands()) . ')';

关于php - 在 PHP 中连接 Mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13708850/

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