constant ex: define('PERMANENT_EMPLOYEE',array('1,'2','3'));
SELECT * from employee where id IN('PERMANENT_EMPLOYEE');
你需要传递一个字符串,因为你现在正在使用数组
define("PERMANENT_EMPLOYEE","'1','2','3'");
echo 'SELECT * from employee where id IN ('.PERMANENT_EMPLOYEE.')';
我已经这样检查过了
不能将数组赋值给常量。试着这样做:
define('PERMANENT_EMPLOYEE', json_encode(array('1','2','3')));
$sql = 'SELECT * from employee where id IN(' . implode(',', json_decode(PERMANENT_EMPLOYEE, true)) . ')';
使用PHP连接函数然后编写如下查询:-
$ids = join(',',[1,2,3]);
$sql = "SELECT * FROM employee WHERE id IN ($ids)";
如果你想通过常量使用数组,那么你应该使用serialize,
define('PERMANENT_EMPLOYEE',serialize(array(1,2,3)));
$ids = join(',',unserialize(PERMANENT_EMPLOYEE));
$sql = "SELECT * FROM employee WHERE id IN ($ids)";