php函数中的子查询
我的数据库中有两个表(phpmyadmin)。我想获取表1中的user1,并使用php中的函数将其与表2中的user2进行比较。这不是我需要比较的主键。我怎么可能做到呢?php函数中的子查询,php,oop,pdo,Php,Oop,Pdo,我的数据库中有两个表(phpmyadmin)。我想获取表1中的user1,并使用php中的函数将其与表2中的user2进行比较。这不是我需要比较的主键。我怎么可能做到呢? 我可以这样做吗 public function userreservationdata($table,$table2) { $q = "SELECT user FROM $table WHERE user =(SELECT sname FROM $table2 WHERE sname=:snam
我可以这样做吗
public function userreservationdata($table,$table2)
{
$q = "SELECT user FROM $table WHERE user =(SELECT sname FROM $table2 WHERE sname=:sname) ";
$stmt = $this->con->query($q);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
假设此代码将输出结果。(来自不同的文件)
谢谢。这会有用的
SELECT user FROM table1 t1 INNER JOIN table2 t2 ON t1.user=t2.user
为什么不使用内部联接呢?还有一件事,当您编写这样的子查询时,通常在主查询的where子句中不使用“=”,它必须是“in”,因为子查询可以返回多行。(在您的情况下,发生这种情况的可能性很大,因为sname不是唯一的)它不会获取致命错误:调用成员函数fetchAll()在非对象上,您必须用您想要使用的内容替换表1和表2,并确保这两个表都有一个列名为user或更改为yeah,它们将在此处更改$reservations=$code->userreservationdata(“user_list”,“reserve_list”);在执行查询之前回显查询,并查看其是否为有效的SQL查询
SELECT user FROM table1 t1 INNER JOIN table2 t2 ON t1.user=t2.user