php - mysql从两个表中查询两行

标签 php mysql sql pdo

我有这个查询来调用两个表中的信息。

DB::get("SELECT friends. * , (SELECT `login` FROM `users` WHERE `users`.`id` = friends.`user_id`) AS `login` FROM `friends` WHERE `id_user`='" . $this->user['id'] . "' ORDER BY `id` DESC LIMIT ")

因此,如果用户在好友列表中显示用户名,我想获得用户名和头像。头像行是 avatar 。 我试试这个。

DB::get("SELECT friends. * , (SELECT `login`, `*avatar*` FROM `users` WHERE `users`.`id` = friends.`user_id`) AS `login` FROM `friends` WHERE `id_user`='" . $this->user['id'] . "' ORDER BY `id` DESC LIMIT ")

然后告诉我错误

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

错在哪里?

最佳答案

首先你应该使用Prepared Statement其次,你不能写内联 View ,它有两列

SELECT friends. * , (SELECT `login`, `*avatar*` FROM ..

相反,您应该使用 JOIN,这可能比当前方法更有效并且更具可读性。

关于php - mysql从两个表中查询两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46409680/

相关文章:

php - mysql PHP 中连接表的问题

PHP MYSQL BLOB 导出为 csv 格式

sql - Postgres : Insert values in two tables simultaneously from csv

mysql - 表已存在sql

php - 如何 ORDER BY 哪个参数在 URL 或 MySQL 查询中排在第一位?

php - Stripe - fatal error - 未提供 API key - PHP

php - 提交表单时在php中结合strip_tags和mysql_real_escape_string

php - 如何使用 jquery、ajax 和 php 将图像文件 (BLOB) 保存在数据库中

php - 使用 Joomla 自定义安装程序代码 API 创建存储过程

android - “Table” : syntax error附近的E/SQLiteLog:(1)