2011-06-30 2 views
0

J'ai un tableau dont j'ai besoin de désinfecter avant de le mettre dans une cellule sur une base de données mysql. Le code que j'essaie semble fonctionner. Mais dès qu'il y a des personnages comme 'ça jette des erreurs et c'est pas bien. Voici ce que j'ai essayé, des idées que ce soit faux?mysql real escape sur un tableau contenant des objets?

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')"); 


     } 

EDIT: juste Incase il aide, voici ce que certains des objets pourrait ressembler dans le tableau:

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

Répondre

2

mysql_real_escape_string la sortie de sérialisation du tableau.

$data_to_insert = mysql_real_escape_string(serialize($array)); 
+0

parfait! Je ne l'ai pas considéré parce que je ne pensais pas que la version sérialisée serait lisible comme ça. Merci! – brybam

Questions connexes