如何在发送到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,
      );

我将把这个发送给Model用于插入数据库,调用就像

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

在Model中,它们像这样插入

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

现在我必须确保SQL注入将被妥善处理,并且当从用户输入任何特殊字符时不会发生伤害。所以我必须为数组提供ESCAPE功能。我有一个非常大的数组,上面有数百个元素。

保存时保存特殊字符,但取时出现问题,数据丢失。那么我该怎么逃,怎么逃有什么建议吗?

所有ActiveRecord的查询构建方法like ,where, group, order, insert, update and so on,SQL injection是安全的,只要你不传递原始SQL字符串。

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

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