【问题标题】:Can't echo data from mysqli query无法从 mysqli 查询中回显数据
【发布时间】:2021-05-30 11:22:38
【问题描述】:

我收到了这个查询:

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;

现在我无法从“track”表中回显<?php echo $row['trackid']; ?>(但是“likes”表中有一行同名,我认为这可能是个问题,但我想不通出)。

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

【问题讨论】:

    标签: php sql mysqli


    【解决方案1】:

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

    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']; ?>
    

    或者您可以尝试对一个表使用 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']; ?>
    

    【讨论】:

    • 谢谢,这几乎解决了问题,正如您在我的问题中看到的那样,我希望能够从行中回显所有内容 (*),这可能吗?
    猜你喜欢
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 2012-11-02
    相关资源
    最近更新 更多