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

Php 内部联接会导致不同的数组

Php 内部联接会导致不同的数组,php,mysql,inner-join,Php,Mysql,Inner Join,我使用一个内部join语句从表和用户检索数据。但是,我希望有一个这样的数组 $resultsFromVenueTableArray = array( $relevantVenueKey => $relevantVenueValue, $resultsFromUserTable => $arrayOfValuesFromUserTable ); 而不仅仅是一个数组,其中包含所有检索到的数据,如下所示: $resultsFromQuery = array(

我使用一个内部join语句从表和用户检索数据。但是,我希望有一个这样的数组

$resultsFromVenueTableArray = array(

    $relevantVenueKey => $relevantVenueValue,
    $resultsFromUserTable => $arrayOfValuesFromUserTable

);
而不仅仅是一个数组,其中包含所有检索到的数据,如下所示:

$resultsFromQuery = array(

    $venueKey,
    $userKey,
    $venueKey...

)
我怎样才能做到这一点

这是我的密码

$query = $this->db->query("SELECT * FROM Venues INNER JOIN Users ON Users.id = $userID", array($userID));

$venues = array();

foreach ($query->result() as $row) {

    $row->username = $username;
    $venues[] = $row;

}

问题中不清楚您到底想做什么,但您可以这样从两个表中提取特定列:

SELECT Venues.*, Users.username FROM Venues INNER JOIN Users ON...
这将允许您仅从“用户”中拉出“用户名”列

连接总是会给您留下一个行数组,如果您需要其他东西,那么一旦您在PHP中获得了数据,您可能就必须对其进行操作,除非我误解了您的问题

类似这样的内容可以通过一个用户获取所有场馆,用户名作为数组键:

$venuesByUser = array();
foreach ($query->result() as $row) {
    $venuesByUser[$row->username][] = $row;
}