美文网首页
MySql group_concat和PHP filter函数

MySql group_concat和PHP filter函数

作者: Amy1234567 | 来源:发表于2023-08-20 14:24 被阅读0次

    MySQL  group_concat方法的长度限制

    MySQL中group_concat支持的最大字符数为1024。如果超过这个长度会直接截断。

    遇到这种情况有两种方式解决:

    1. 弃用group_concat, 将字段的关联写在代码逻辑中

    2. 修改group_concat的最大限制

    \bullet 查看group_concat的最大限制

    show variables like "group_concat_max_len";

    \bullet 使用sql设置group_concat的最大长度,但是这种方式在重启mysql后就无效

    SETGLOBALgroup_concat_max_len=102400;

    SETSESSIONgroup_concat_max_len=102400;

    \bullet 在MySQL配置文件中my.conf或my.ini中添加以下配置,然后重启Mysql

    group_concat_max_len=102400

    由于每个表存储的数据不同,且查询场景不同,根据现有的场景确定修改的最大长度,可能不满足以后其他的业务场景,所以推荐使用第一种方式,将关联逻辑写在代码逻辑中。

    PHP Filter函数

    PHP 过滤器用于对非安全来源的数据(比如用户输入)进行验证和过滤。Filter函数是PHP核心的组成部分。无需安装即可使用。

    1. filter_has_var 检查是否存在指定输入类型的变量

    如果成功返回true, 如果失败返回false

    语法:filter_has_var(type, variable)

    type: 必须。规定要检查的类型:INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV

    variable: 必须。规定要检查的变量。

    2. filter_id 返回指定过滤器的ID号

    如果成功则返回过滤器的 ID 号,如果过滤器不存在则返回 NULL。

    语法:filter_id(filter_name)

    filter_name: 必需。规定被获取 ID 号的过滤器。

    3. filter_input 从外部脚本获取输入(比如表单输入),并进行过滤。

    该函数用于对来自非安全来源的变量进行验证,比如用户的输入。

    该函数可从各种来源获取输入:INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_ENV, INPUT_SERVER

    如果成功,返回被过滤的数据,如果失败,则返回false。如果variable参数未设置,则返回NULL.

    语法:filter_input(input_type, variable, filter, options)

    4. filter_list 返回包含所有得到支持的过滤器的一个数组

    5. filter_var_array 获取多个变量进行过滤

    该函数对过滤多个值很有用,无需重复使用filter_var。如果成功,则以数组的形式返回请求变量的值,如果失败,则返回false.

    语法:filter_var_array(array, args)

    6. filter_var 获取一个变量进行过滤

    如果成功,则返回被过滤的数据,如果失败,则返回false

    语法:filter_var(variable, filter, option)

    如:filter_var("someone@example....com", FILTER_VALIDATE_EMAIL)

    7. filter_input_array 从脚本外部获取多项输入,并进行过滤

    相关文章

      网友评论

          本文标题:MySql group_concat和PHP filter函数

          本文链接:https://www.haomeiwen.com/subject/ppuhmdtx.html