Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从多维数组写入数据库记录_Php_Mysql - Fatal编程技术网

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

Php 从多维数组写入数据库记录,php,mysql,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

我有一个数组,看起来像这样

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类型的对象作为数组

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

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

基本上,只需单独访问数组中的项,并对它们运行适当的数据库操作即可


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

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

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

基本上,只需单独访问数组中的项,并对它们运行适当的数据库操作即可


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

您应该设置障碍,因为它是stdClass

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

    // bla bla
}

因为它是stdClass,所以你应该挡道

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

    // bla bla
}

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

访问阵列的方式

$foo["key"]
访问类(即stdclass)属性的方式


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

访问阵列的方式

$foo["key"]
访问类(即stdclass)属性的方式


是的,我正在使用php,当我尝试上面的致命错误时,我得到了这个错误:不能将stdClass类型的对象用作array@Rich是的,您不能将对象用作数组。您需要传入实际的数组,然后在
$item
中与对象交互(或您称之为它的任何内容)。或者,您可以使用
for循环
来访问数据。请记住,这是一个多维数组,上面的数组将返回3个单独的值arrays@LiamSorsby这是一个包含3个对象的数组,您将访问这些对象,而不是另一个数组,我在尝试上述致命错误时遇到此错误:无法将stdClass类型的对象用作array@Rich是的,您不能将对象用作数组。您需要传入实际的数组,然后在
$item
中与对象交互(或您称之为它的任何内容)。或者,您可以使用
for循环
来访问数据。请记住,这是一个多维数组,上面的数组将返回3个单独的值arrays@LiamSorsby这是一个包含3个对象的数组,您将访问这些对象,而不是另一个数组。您的错误是由于您试图以数组的形式访问对象。您需要改用
$ipRecord->ipID
格式。您的错误是由于尝试以数组形式访问对象而导致的。您需要改用
$ipRecord->ipID
格式。