无法回显来自 mysqli 查询的数据

Can't echo data from mysqli query

我收到了这个查询:

SELECT * 
FROM track 
LEFT JOIN likes ON likes.trackid = track.trackid AND likes.userid='$userid' 
WHERE likes.userid is null ORDER BY rand() LIMIT 1;

现在我无法从“曲目”table 回显 <?php echo $row['trackid']; ?>(但是我建议在“喜欢”table 中有一行同名的行这可能是个问题,但我想不通。

我希望你们都能理解我遇到的问题,否则我会尽力解释得更好!

尝试使用明确的列名和别名在不同的列名中获取结果

SELECT likes.trackid like_trackid, track.trackid track_trackid
 FROM track 
LEFT JOIN likes ON likes.trackid = track.trackid AND likes.userid='$userid' 
WHERE likes.userid is null 
ORDER BY rand() LIMIT 1;


<?php echo $row['like_trackid']; ?>

<?php echo $row['track_trackid']; ?>

或者您可以尝试对一个 table 使用 select *,对第二个数学计算列

使用显式列
SELECT likes.*, track.trackid track_trackid
 FROM track 
LEFT JOIN likes ON likes.trackid = track.trackid AND likes.userid='$userid' 
WHERE likes.userid is null 
ORDER BY rand() LIMIT 1;

<?php echo $row['trackid']; ?>  // this came from  the select *

<?php echo $row['track_trackid']; ?>