由于您拥有普通 就可以做到…
$sql = "SELECT * FROM table WHERE comp_id IN (".implode(',',$arr).")";
(由于不断出现,一些其他信息…)
如果使用 (特别是 )输入,可以做到
$sql = "SELECT * FROM table WHERE comp_id IN
('".implode("','",array_map('MysqL_real_escape_string', $arr))."')";
但不能处理NULL之类的值。并会添加引号 周围的数值,这并 如使用MysqL的严格模式下工作。https://dev.mysql.com/doc/refman/8.0/zh-CN/sql- mode.html#idm1400823779170170 …仅在真正使用字符串(如VARCHAR)而非数字列的情况下才使用。
在 调用类似的东西MysqL_real_escape_string
是这样,任何引号 中字符串 被妥善处理!(以及防止sql注入!)
…如果希望使用“ ”号码,可以使用intval
或floatval
$sql = "SELECT * FROM table WHERE comp_id IN (".implode(",",array_map('intval', $arr)).")";
清理输入。(输入中没有引号。