您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在sql IN运算符中使用php数组?

如何在sql IN运算符中使用php数组?

由于您拥有普通 就可以做到…

$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注入!)

…如果希望使用“ ”号码,可以使用intvalfloatval

$sql = "SELECT * FROM table WHERE comp_id IN (".implode(",",array_map('intval', $arr)).")";

清理输入。(输入中没有引号。

php 2022/1/1 18:20:24 有432人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶