恆前:define('PERMANENT_EMPLOYEE',array('1,'2','3'));
如何在MySQL查詢中使用數組數組常量數組?
SELECT * from employee where id IN('PERMANENT_EMPLOYEE');
這上面選擇不工作。
恆前:define('PERMANENT_EMPLOYEE',array('1,'2','3'));
如何在MySQL查詢中使用數組數組常量數組?
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)) . ')';
對不起這是不工作。 – Pallavi
你需要傳遞一個字符串,如您使用數組現在
define("PERMANENT_EMPLOYEE","'1','2','3'");
echo 'SELECT * from employee where id IN ('.PERMANENT_EMPLOYEE.')';
我已經以這種方式
對不起。這不起作用。 – Pallavi
使用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)";
謝謝你回答。它非常嚴格,我必須使用常量,請提出一個解決方案,使用常量 – Pallavi
MySQL的()中操作者不接受陣列 –