当前位置:Gxlcms > mysql > 使用mysqli扩展技术实现多个数据表查询

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

时间:2021-07-01 10:21:17 帮助过:19人阅读

使用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>

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

103.png

注意:

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

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

【相关教程推荐】

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

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

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

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

人气教程排行