Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.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_Arrays_Multidimensional Array - Fatal编程技术网

Php 多维数组将相同的键和值组合到已定义的数组元素中

Php 多维数组将相同的键和值组合到已定义的数组元素中,php,mysql,arrays,multidimensional-array,Php,Mysql,Arrays,Multidimensional Array,我不熟悉php,得到存储json的mysql结果,但它不是我想要的coorect格式 请检查下面的代码 $sql = "select * from en_providers where providerEmailAddress='" . $email . "' and providerPW='" . $password . "'"; $result = mysqli_query($con, $sql) or die("Error in Selecting " . mysqli_error($co

我不熟悉php,得到存储json的mysql结果,但它不是我想要的coorect格式

请检查下面的代码

$sql = "select * from en_providers where providerEmailAddress='" . $email . "' and providerPW='" . $password . "'";
$result = mysqli_query($con, $sql) or die("Error in Selecting " . mysqli_error($connection));
if (mysqli_num_rows($result) > 0) {
    $resultArray = array();
    while ($row = mysqli_fetch_assoc($result)) {
        $providerID               = $row['providerID'];
        $resultArray['providers'] = $row;
        $resultArray['providers']['providerIDActivities'] = unserialize($row['providerIDActivities']);
        $resultArray['providers']['providerIDBodies'] = unserialize($row['providerIDBodies']);
        $resultArray['providers']['providerIDOthers'] = unserialize($row['providerIDOthers']);

        $sql1 = "select * from en_venues where providerID = $providerID ";
        $result1 = mysqli_query($con, $sql1) or die("Error in Selecting " . mysqli_error($connection));
        $i = $j = $l = $x = $m = 0;
        while ($row1[] = mysqli_fetch_assoc($result1)) {
            //$resultArray['venues'][]['venueIDFacilities'] = unserialize($row1[$j++]['venueIDFacilities']);
            $venueID                                          = $row1[$j++]['venueID'];
            $k                                                = 0;
            $venueFacilities                                  = unserialize($row1[$i++]['venueIDFacilities']);
            $resultArray[$x++]['venues']['venueIDFacilities'] = $venueFacilities;

            //$resultArray['venues'][$x++]['venueID'] = $venueID;
            $resultArray['venues'] = $row1;
            //echo json_encode($resultArray);



        echo json_encode($resultArray);
    }
}
输出为:

{
    0: {
        "venues": {
            "venueIDFacilities": [
                "1",
                "2",
                "3"
            ],
        }
    },
    1: {
        "venues": {
            "venueIDFacilities": [
                "4",
                "7"
            ],
        }
    }
},
"providers": {
    "providerIDActivities": [
        "218",
        "219"
    ],
    "providerIDSports": "a:1:{i:0;i:82;}",
    "providerIDBodies": [
        "112"
    ],
},
venues": {
    0: {
        "venueID": "9",
        "providerID": "2"
    },
    1: {
        "venueID": "238",
        "providerID": "2",
        "venueActive": "yes"
    }
}
但我需要这些球道在各自的场地上,但结果是外线。如何将这些值附加到场馆中

我用不同的方式尝试了一天,但没有得到正确的格式

我想要的输出:

"providers": {
    "providerIDActivities": [
        "218",
        "219"
    ],
    "providerIDSports": "a:1:{i:0;i:82;}",
    "providerIDBodies": [
        "112"
    ],
},
venues": {
    0: {
        "venueID": "9",
        "providerID": "2",
        "venueIDFacilities": [
            "4",
            "7"
        ]
    },
    1: {
        "venueID": "238",
        "providerID": "2",
        venueIDFacilities": [
            "4",
            "7"
        ]
    }
}
这条线

$resultArray[$x++]['venues']['venueIDFacilities'] = $venueFacilities;
应该是

$resultArray['venues'][$x++]['venueIDFacilities'] = $venueFacilities;

这是一个简单问题的大量代码,请减少代码这段代码还有其他问题:不要在迭代结果集的另一个循环中执行SQL语句。相反,使用联接改进初始SQL。更重要的是,您的代码容易受到SQL注入的攻击。你真的应该使用准备好的语句和绑定参数。好的@trincot我会检查它的紧急情况。你能解决上面的问题吗?如果我只得到第一个值,但不在数组中,请打开链接