我正在尝试从多个表中获取数据,并在获取数据时获取数据我多次获取相同的数据
如何多次停止回声数据
<?php
$stmt = $DB_con->prepare('SELECT t1.id,t2.id from t1,t2ORDER BY t1.id DESC ');
$stmt->execute();
if($stmt->rowCount() > 0){
while($row=$stmt->fetch(PDO::FETCH_ASSOC)){
extract($row);
}
?>
这是我得到的数据但多次像t1有10个ids t2有20个ids所以我在显示器上有30个ID
答案 0 :(得分:0)
为避免重复行,您可以使用不同的
$DB_con->prepare('SELECT DISTINCT t1.id,t2.id from t1,t2 ORDER BY t1.id DESC ');
但在您的FROM子句中,您使用的是交叉连接(表格的每一行之间的笛卡尔乘积乘以其他表格的每一行)
可能是你需要一个连接,尤其是表格列之间的条件,与列表相关联。
$DB_con->prepare('SELECT DISTINCT t1.id,t2.id
from t1
INNER JOIN t2 ON t1.id = t2.id ORDER BY t1.id DESC ');
基于t1.id = t2.id的连接只是一个示例,您应该检查evnetual真实连接条件