如何在发送到 mysql 数据库时从特殊字符中转义所有数组元素

How to escape all array elements from special characters while sending to mysql database

我正在发送一个数组,该数组已从视图传递到控制器 (ajax-json)。 在控制器中,我将它们全部收集在数组中,如下所示:

$to_update = array(
    'Name' =>$Name,
     'qualification' =>$qualification,
     'percentage' =>$percentage,
      );

我会将其发送到模型以插入到数据库中,调用就像

$result  = $this->MODEL_NAME->FUNC_NAME($to_update);

在模型中,它们被插入,

$this->db->insert('table_name', $to_update);

现在我必须确保 SQL INJECTION 将得到正确处理,并且当用户输入任何特殊字符时不会造成伤害。 所以我必须为数组提供 ESCAPE 功能。我有像上面这样的非常大的数组,有数百个元素。

存的时候存的是特殊字符,取的时候出问题,数据会丢失。那么我必须在哪里处理转义,以及如何转义 请有任何建议。

A​​ctiveRecord 的所有查询构建方法 like ,where, group, order, insert, update and so on, 都是安全的 SQL injection 只要您不向它们传递原始 SQL 字符串。

CodeIgniter 将识别您的变量是什么类型的数据,并相应地包装它。也就是说,如果它是一个字符串,它将在 SQL 中的转义值周围放置 ' 和 ',这是确保 users can't inject anything malicious.

所需要的

CodeIgniter 在使用活动记录而不是 运行 直接 SQL 查询时删除引号和易受攻击的脚本。所以不用担心使用活动记录