PHP实现多表联查
多表联查就是要查询的结果是需要获取多个表的内容,把它们的关系建立为一个临时存在的表。
多表联合查询是不可以进行索引优化查询速度的,所以一般情况下不建议使用。
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如何实现多表查询