Винаги използвайте mysql_real_escape_string
когато работите с низове, които може да имат кавички / наклонени черти. Ако не го направите, ще получите повредени/злонамерени заявки. Резултатът от serialize()
понякога има кавички / наклонени черти, така че трябва да го използвате. Няма нужда обаче да сериализирате всеки елемент от масива предварително.
$details['name'] = $_POST['name'];
$details['email'] = $_POST['email'];
$details['phone'] = $_POST['phone'];
$serializedDetails = mysql_real_escape_string(serialize($details));
Само като пример:сериализирането на "hello" ще ви даде:s:5:"hello"
.
$data = 's:5:"hello"';
$query = 'INSERT INTO tbl (data) VALUES ("' . $data . '")';
// leads to a syntax error from mysql
// (plus it's a huge security hole)
mysql_query($query);