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是使用的表的数量. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |