如何在php mysql中保存多个序列化数据

时间:2015-09-25 05:31:11

标签: php mysql arrays serialization

这两个变量将数据保存在数组中,我希望保存在数据库中并在保存之前进行序列化。如果我只保存一个变量ex $ add_item_overview ..概述的序列化数据将保存,但另一个变量不是..它在我声明的每个参数中给出了一个未定义的错误。

    $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'],
        );

这是我的序列化变量和ff sql语句。

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

1 个答案:

答案 0 :(得分:0)

你在SQ​​L中用逗号连接这两个变量会导致你出错。因为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 . "')";