php - MySQL 从 2 个表中选择(一个有消息/第二个存储隐藏消息)

标签 php mysql

早上好。我一直在为无法解决的 MySQL 问题而苦苦挣扎。

问题:我不明白如何SELECT 需要的数据。 (子查询/INNER JOIN/更多?)

我有两个表:user_pmuser_pm_hide

user_pm 我存储消息:

user_pm_image

user_pm_hide 中,我存储隐藏的(“已删除的消息”),该用户已“删除”它。

user_pm_hide_image

例如我收到Inbox Count This works

$stmt = $this->conn->prepare("SELECT count(*) FROM user_pm WHERE sentto=('$username')");
$stmt->execute();
$inboxall = $stmt->fetchColumn();

$stmt = $this->conn->prepare("SELECT count(*) FROM user_pm_hide WHERE user_id=('$username')");
$stmt->execute();
$inboxhidden = $stmt->fetchColumn();

$inboxtotal = $inboxall - $inboxhidden;

但我不知道如何显示消息,这不是隐藏的。我正在努力实现它:

SELECT user_pm.*, (SELECT * FROM user_pm_hide WHERE user_id != $username) FROM user_pm user_pm WHERE sentto=('$username')

我现在得到的错误:

SQLSTATE[21000]: Cardinality violation: 1241 Operand should contain 1 column(s)

最佳答案

您缺少内部 SELECT 部分中的单引号。尝试

SELECT 
  user_pm.*, 
  (SELECT * FROM user_pm_hide WHERE user_id != '$username') 
FROM 
  user_pm 
WHERE 
  sentto=('$username')

关于php - MySQL 从 2 个表中选择(一个有消息/第二个存储隐藏消息),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45833355/

相关文章:

php - Facebook PHP SDK getSession() 获取 session 失败。 cookies 问题?

php - 转换和舍入帮助

PHP MySQL 文件上传仅偶尔有效

php - 向用户推荐还不是 friend 的 friend

php - 部署独立的 PHP/MySQL 应用程序

php - 使用 gd 调整字体大小和填充以创建动态条形图

mysql - 数据库结构 : Would this structure work with this m:m?

MySql Select 查询合并结果

php while循环表重复修复

php - 如何获取特定用户的上传图像