欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

使用mysqli扩展技术实现多个数据表查询

程序员文章站 2022-04-07 11:43:58
...
使用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>

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

使用mysqli扩展技术实现多个数据表查询

注意:

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

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

【相关教程推荐】

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

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

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

以上就是使用mysqli扩展技术实现多个数据表查询的详细内容,更多请关注其它相关文章!