将数组传递到数据库时出错


Error Passing array into Database

<?php 
include "connect.php";
$device_id=rand(10000,100000);
$data_track= $_POST['tracker'];
    $data_contact= $_POST['contact_track'];
    print_r($data_track);
    print_r(count($data_contact));
    $abs=count($data_contact);
    for($x = 0; $x <$abs; $x++) {
        $insert_query = "INSERT INTO hwt_devices(device_ID,device_wemail,device_wcontact) VALUES('$device_id','$data_track[$x]','$data_contact[$x]')";
        $result_insert = mysql_query($insert_query);
        echo "hello";
    }
?>

我已经将数组从一个文件传递到另一个文件,我想将此数组存储为数据库中的单个字符串值。上面的代码只输入一个值,但我在数组中传递了三个值。帮我解决这个问题,我是PHP的新手

首先,你不能将完整的数组从一个页面传递到另一个页面,你必须在该页面上使用 PHP 的序列化,然后在获取页面上取消序列化它。然后使用 implode 将其更改为逗号分隔的字符串。

serialize()

数组转换为字符串。您可以serialize数组,而不是将其保存在数据库中。

从数据库检索时,可以使用unserialize()将其转换回数组。