0

mysqlデータベースのセルに配置する前にサニタイズする必要のある配列があります。私が試しているコードは機能しているようです。しかし、'のような文字があるとすぐにエラーが発生し、それは良くありません。これが私が試したことです、何かアイデアは何が間違っていますか?

 function submitLogDb($array,$id,$title)
       {
            function mysql_real_escape_array($var) 
            {
                foreach($var as $line)
                {
                mysql_real_escape_string($line['msg']);
                }

              return $var;
            }


            $title=mysql_real_escape_string($title);

            $array=mysql_real_escape_array($array);

            return mysql_query("INSERT INTO logs (text,id,title) VALUES ('".serialize($array)."','$id','$title')");


       }

編集:それが役立つ場合に備えて、ここにいくつかのオブジェクトが配列でどのように見えるかを示します:

[1] 
  icon = ""
  msg = "this is a test"
  name = "Them: "
  systemMsg = 0
[2]
  icon = ""
  msg = "yep it sure is"
  name = "You: "
  systemMsg = 0
4

1 に答える 1

2

mysql_real_escape_string配列のシリアル化の出力。

$data_to_insert = mysql_real_escape_string(serialize($array));
于 2011-06-30T06:26:54.267 に答える