小丁的博客
PHP实现多表联查
2021-07-19
查看标签
768次浏览

多表联查就是要查询的结果是需要获取多个表的内容,把它们的关系建立为一个临时存在的表。
多表联合查询是不可以进行索引优化查询速度的,所以一般情况下不建议使用。
1、使用mysqli_connect连接数据库

<?php

header("Content-Type: text/html;charset=utf-8");
$dbhost = 'localhost';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = 'root';          // mysql用户名密码

$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('连接失败: ' . mysqli_error($conn));
}
// 执行查询
?>

2、执行多表查询语句

// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 // 多表查询
$sql = 'select * from table1,table2';
mysqli_select_db( $conn, 'DEMO' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('无法读取数据: ' . mysqli_error($conn));
}
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
{
    echo $row;
}
mysqli_close($conn);

更多多表查询的方法:
1、普通方法

select * from table1,table2

2、left join right join 等方法

select * from table1 t1 left join table2 t2 on t1.id = t2.id

3、UNION 方法

select * from table1 union select * from table2

4、嵌套查询方法

select * from table1 where id in (select pid from table2 where pid > 10)

原文地址:angryTom - php如何实现多表查询