0

$_POST から multidim 配列がありますが、serialize() してからデータベースに保存する必要があります...

通常はシリアル化できますが、スラッシュ (アポストロフィと二重引用符) に問題がありました。

私の配列は次のようです: $array["hu"]["category"]["food"] = "string";

しかし、「文字列」に「」または「」が含まれている場合、たわごとがあります...

スラッシュを追加するための短いコードが必要ですが、間違った解決策がたくさんあります。

ps: 私は CodeIgniter のユーザーです。

// アップデート:

function addslashesextended(&$arr_r) {
  if (is_array($arr_r)) {
    foreach ($arr_r as &$val){
      if( is_array($val) ){
        addslashesextended($val);
      }else{
        $val = addslashes($val); 
      }
    }
    unset($val);
  } else {
    $arr_r = addslashes($arr_r);
  }
}

どうも!

4

1 に答える 1

2

codeigniter 入力クラスとアクティブ レコード クラスを使用するのが最善の解決策だと思います。スラッシュ/エスケープを追加し、最も一般的なサニタイズが行われます。

http://codeigniter.com/user_guide/libraries/input.html http://codeigniter.com/user_guide/database/active_record.html

于 2011-05-18T20:35:59.680 に答える