从多维数组中写入数据库记录

时间:2013-12-17 16:05:44

标签: php mysql

好的,所以我有一个看起来像这样的数组

Array
(
[0] => stdClass Object
    (
        [ipID] => 1
        [countryID] => 13
        [beginIP] => 1.0.0.0
        [endIP] => 1.0.0.255
        [netMask] => 24
        [beginIPNum] => 16777216
        [endIPNum] => 16777471
    )

[1] => stdClass Object
    (
        [ipID] => 2
        [countryID] => 44
        [beginIP] => 1.0.1.0
        [endIP] => 1.0.1.255
        [netMask] => 24
        [beginIPNum] => 16777472
        [endIPNum] => 16777727
    )

[2] => stdClass Object
    (
        [ipID] => 3
        [countryID] => 44
        [beginIP] => 1.0.2.0
        [endIP] => 1.0.3.255
        [netMask] => 23
        [beginIPNum] => 16777728
        [endIPNum] => 16778239
    )
)

现在我想获取每组数据(ipID,countryID等)并将每个数据写入数据库,但我被卡住了

如何获取每组数据?

    foreach($data as $ipRecord ) {

        $a = array();
        $a['ipID'] = $ipRecord['ipID'];
        $a['countryID'] = $ipRecord['countryID'];

        echo $a;

    }

使用上面引发致命错误:不能使用stdClass类型的对象作为数组

3 个答案:

答案 0 :(得分:2)

你应该妨碍因为它是stdClass。

foreach($Array as $key => $value)
{
    $ipID = $value->ipID;
    $etc = $value->etc;
    $countryID = $value->countryID;

    // bla bla
}

答案 1 :(得分:1)

假设您在这里使用PHP,可以使用forEach

forEach($arr as $item) {
    // Run your database insertion here
}

请参阅:http://www.php.net/manual/en/control-structures.foreach.php

基本上,只需单独访问数组中的项目并对它们运行相应的数据库操作。

但是,老实说,它取决于您使用的语言和数据库。

答案 2 :(得分:1)

您可能不了解数组和对象之间的区别。

您访问阵列的方式

$foo["key"]

访问类属性的方式(即stdclass)

$foo->key