PHP中的连接Mysql查询
连接此查询时遇到问题:PHP中的连接Mysql查询,php,mysql,concatenation,Php,Mysql,Concatenation,连接此查询时遇到问题: $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.='
$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
子句包含或
,因此必须确保保持逻辑完整。我建议在连接附加的和子句之前,将前两个条件用一组括号括起来:
$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()) . ')';
$sql.='AND ticket.brand_id IN('.introde('',',$thisuser->getBrands())')代码>?