加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 选择多个表mysql

发布时间:2020-12-13 22:13:24 所属栏目:PHP教程 来源:网络整理
导读:我试图用where子句选择两个表, 问题:我得到的结果超过2.像123451111这样我只有两个值为1的ID.我想我做错了. 这些表格没有相同的结构,也没有任何关联.有任何想法吗? ?php include_once("config.php"); $s = '1';$stmt =$mydb-prepare("select * FROM table1
我试图用where子句选择两个表,

问题:我得到的结果超过2.像123451111这样我只有两个值为1的ID.我想我做错了.

这些表格没有相同的结构,也没有任何关联.有任何想法吗?

<?php include_once("config.php");
   $s = '1';
$stmt =$mydb->prepare("select * FROM table1,table2 where table1.id = ? or table2.id = ?");
stmt->bind_param('ss',$s,$s);
echo $mydb->error;
$stmt->execute();

?>
<?php
$results  = $stmt->get_result();
while ($row = $results->fetch_assoc()) {
echo $row['id']."<br/>";
}
?>

解决方法

你需要在table1和table2之间的某个唯一列上加入一个连接,比如id.

select * FROM table1,table2 where table1.id = table2.id;

此外,您可以有多个过滤条件(假设您要过滤id = 101的表格 –

select * 
FROM table1,table2 
where table1.id = table2.id
and table1.id = 101;

希望这可以帮助.每当SQL语句中有多个表时,您需要加入它们,否则引擎会生成笛卡尔积,就像数学集理论中的笛卡尔积一样.

基本上你应该至少有n-1个连接条件,其中n是使用的表的数量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读