php - 无法从 mysqli 查询中回显数据
问题描述
我得到了这个查询:
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;
现在我无法<?php echo $row['trackid']; ?>
从“track”表中回显(但是“likes”表中有一行具有相同名称,我认为这可能是一个问题,但我无法弄清楚)。
我希望你们都能解决我遇到的问题,否则我会尽力解释得更好!
解决方案
尝试使用显式列名和别名来获取不同 colname 的结果
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']; ?>
推荐阅读
- python - (变分)自编码器中异常阈值的实际确定
- javascript - 在 React 中将数组存储到本地存储中
- c - 在进行分配操作时,将其类型转换为比实际更长的数据类型时,c 中的类型转换如何表现
- ruby-on-rails - 获取对象数组的关联记录
- file - 如何从 trust.p12 证书文件中获取 SSL 证书主题、颁发者、开始日期和到期日期
- git - 如何将 .git/ 文件更改推送到远程(服务器)存储库
- haskell - 将 forkIO 推广到 MonadIO
- spring - DEF_CONTENT_CHARSET 错误
- typescript - Angular 6 库:在 CI 管道中构建库以创建 lib 版本
- sql - SQL 通过 ODBC FileMaker 字段由 ¶?