使用mysqli扩展技术完成多个数据表查询
发表时间:2023-08-31 来源:明辉站整理相关软件相关文章人气:
[摘要]使用mysqli扩展技术实现多个数据表查询在实际的项目开发过程中,一个项目经常需要多个数据表来存储信息,并且这些表之间通过主键彼此相互联系,那么本篇文章将介绍如何实现多个数据表之前的查询。那么我们在之前的一篇文章《使用mysqli扩展技术查看服务器连接错误报告的方法》中,我们介绍了mysqli扩展...
使用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 扩展库视频教程》
以上就是使用mysqli扩展技术实现多个数据表查询的详细内容,更多请关注php中文网其它相关文章!
学习教程快速掌握从入门到精通的SQL知识。