繁体   English   中英

JOIN查询仅返回第一行

[英]JOIN query only returning 1st row

我正在尝试从存储store.itemid = item_list.id的两个表中检索多行。

$query = "SELECT s.price, il.*  
    FROM store s LEFT JOIN item_list il ON s.itemid = il.id";

然后我有:

if($result = $conn->($query)) {
    $array = $result->fetch_array(MYSQLI_ASSOC); 
    }

使用我当前的代码,查询仅从“商店”表中检索第一行。 我已经确定肯定会有不止一排返回。

print_r($ array)显示:

Array ( [price] => 400 [id] => 5 [name] => Computer ) 

那是因为您只运行一次fetch_array()。 您可能需要循环运行它,例如:

if ($result = $conn->query($query)) {
    while ($array = $result->fetch_array(MYSQLI_ASSOC)) {
        // do something with $array
    }
}

代替这个:

$array = $result->fetch_array(MYSQLI_ASSOC); 

用这个:

while($row = $result->fetch_array(MYSQLI_ASSOC)){
 //put your code here!
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM