视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
使用mysqli扩展技术实现多个数据表查询
2020-11-09 09:01:30 责编:小采
文档
使用mysqli扩展技术实现多个数据表查询

在实际的项目开发过程中,一个项目经常需要多个数据表来存储信息,并且这些表之间通过主键彼此相互联系,那么本篇文章将介绍如何实现多个数据表之前的查询。

那么我们在之前的一篇文章《使用mysqli扩展技术查看服务器连接错误报告的方法》中,我们介绍了mysqli扩展技术来查看服务器连接错误报告的方法,今天我们将给大家介绍使用mysqli扩展技术实现多个表之间的查询!

技术要点

利用mysqli技术实现多表查询,关键是如何实现多表之间通过主键进行连接。下面是本实例实现多表查询的代码:

$sql = "select * from student,score where student.id=score.id";
$result = mysqli_query($link, $sql);

实现多表之间的查询应在from关键字后列出所有的表名,并且表名之间用逗号进行分割。同时应在where关键字中指明多表之间的连接条件,例如本例中的student.id=score.id,表明学生表和成绩表之间通过学生表的id字段和成绩表的sid字段进行连接。

实现过程

(1)建立php文件,实现与MySQL数据库之间的连接。代码如下:

$link = mysqli_connect("localhost", "root", "root");
$conn = mysqli_select_db($link, "php_cn");
$sql = "select * from student,score where student.id=score.id";
$result = mysqli_query($link, $sql);
$res = mysqli_fetch_array($result, MYSQLI_ASSOC);

(2)实现多表之间的查询,如果学生表和成绩表中有满足条件的记录,则显示这些记录,否则提示没有相关信息。代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");
$link = mysqli_connect("localhost", "root", "root");
$conn = mysqli_select_db($link, "php_cn");
$sql = "select * from student,score where student.id=score.id";
$result = mysqli_query($link, $sql);
$res = mysqli_fetch_array($result, MYSQLI_ASSOC);
if(!$res) {
 echo "没有找到你要的信息";
}else{
 ?>
 <table width="600" height="50" border="0" align="center" cellspacing="1" cellpadding="0">
 <tr>
 <td width="156" height="25" bgcolor="#A2D4F4">
 <p align='center'>序列</p>
 </td>
 <td width="156" height="25" bgcolor="#A2D4F4">
 <p align='center'>名字</p>
 </td>
 <td width="156" height="25" bgcolor="#A2D4F4">
 <p align='center'>语文成绩</p>
 </td>
 <td width="156" height="25" bgcolor="#A2D4F4">
 <p align='center'>数学成绩</p>
 </td>
 <td width="156" height="25" bgcolor="#A2D4F4">
 <p align='center'>外语成绩</p>
 </td>
 </tr>
 <?php
 do{
?>
<tr>
 <td width="156" height="25" bgcolor="#A2D4F4">
 <p align='center'><?php echo $res['student_id'];?></p>
 </td>
 <td width="156" height="25" bgcolor="#A2D4F4">
 <p align='center'><?php echo $res['name'];?></p>
 </td>
 <td width="156" height="25" bgcolor="#A2D4F4">
 <p align='center'><?php echo $res['chinese'];?></p>
 </td>
 <td width="156" height="25" bgcolor="#A2D4F4">
 <p align='center'><?php echo $res['mathematics'];?></p>
 </td>
 <td width="156" height="25" bgcolor="#A2D4F4">
 <p align='center'><?php echo $res['english'];?></p>
 </td>
</tr>
<?php
 }while($res = mysqli_fetch_array($result, MYSQLI_ASSOC));
}
?>
</table>

最后输出的得到的结果如下:

注意:

上面的结果图中的“序列”和“名字”字段来自 student 数据表,而其他的字段来自 score 数据表。

关于mysqli扩展技术实现多表查询我们就介绍到这里了,小伙伴们可以再自己的本地试试,下一篇我们继续讲解mysqli扩展技术,具体请阅读《通过mysqli扩展技术实现内存回收》!

【相关教程推荐】

1. 相关专题推荐:《php操作mysql数据库》

2.【MYSQL在线免费视频教程】

3. 相关视频课程推荐: 《初级MySQLi 扩展库视频教程》

下载本文
显示全文
专题