2015-09-25 1 views
0

Это две переменные, которые содержат данные в массиве, которые я хочу сохранить в базе данных и сериализуем, прежде чем они будут сохранены. Если я сохраню одну переменную только ex $ add_item_overview, сериализуемые данные обзора будут сохраняться, но другая одна переменная не ... и она дает мне неопределенную ошибку в каждом параметре, который я объявляю.Как сохранить несколько данных сериализации в php mysql

$add_item_overview = array(
     "item_brand" => $_POST['brand'], 
     "item_model" => $_POST['model'], 
     "item_submodel" => $_POST['submodel'], 
     "item_price" => $_POST['price'], 
     "item_yearmodel" => $_POST['year'], 
     ); 

    $add_item_specs = array(
     "engine_capacity" => $_POST['engine_capacity'], 
     "engine_type" => $_POST['engine_type'], 
     "engine_compression" => $_POST['engine_compression'], 
     "engine_broke" => $_POST['engine_broke'], 
     "performance_power" => $_POST['performance_power'], 
     "performance_torque" => $_POST['performance_torque'], 
     ); 

Это моя переменная serialize и ff sql statement.

$add_item_overview_serialize = serialize($add_item_overview); 
$add_item_specs_serialize = serialize($add_item_specs); 

$sql = "INSERT INTO item_newcar_temp(item_overview,item_specs) VALUES ('". $add_item_overview_serialize ."','" . $add_item_specs_serialize . "')"; 
+0

если вы не дезинфицировать входные данные из PHP-почты, то вы * потенциально * переполнить ваш дб с атаками SQL-инъекции второго уровня (время бомба ждет сезама позже) – Drew

ответ

0

Вы сцепить эти две переменные в SQL с запятой, которая ведет вас error.Because Mysql считает, что разделенные запятой две колонки.

Вы можете использовать этот код

$add_item_overview_serialize = serialize($add_item_overview); 
$add_item_specs_serialize = serialize($add_item_specs); 

$final_serialize = $add_item_overview_serialize.",".$add_item_specs_serialize; //First concatenate them then use in SQL. 

$sql = "INSERT INTO item_newcar_temp(item_specs) VALUES ('". $final_serialize . "')"; 
+0

спасибо, сэр, это работает на меня: D – dextree

Смежные вопросы