Rumah >pangkalan data >tutorial mysql >通过mysqli扩展技术实现内存回收

通过mysqli扩展技术实现内存回收

黄舟
黄舟asal
2017-05-07 16:42:002018semak imbas

通过mysqli扩展技术实现内存回收

为了有效利用服务器的内存空间,在获取较大结果集时,一旦结束操作,则有必要回收集合所需要的内存,由于mysqli技术可以采用面向对象和面向过程两种编程方式,所以与之对应的内存回收方式就有两种,将通过本实例讲解内存回收机制在项目开发过程中的价值和使用方法。

在上一篇文章《使用mysqli扩展技术实现多个数据表查询》中,我们介绍了mysqli扩展技术实现多个数据表查询,那么我们今天这篇文章主要跟大家介绍mysqli扩展技术实现内存回收!

技术要点

PHP为了迎合不同开发习惯的程序员,在mysqli扩展技术中提供了面向对象和面向过程两种编程方式,所以实现内存回收也存在与之对应的两种方式。如果采用面向过程的编程方式可以通过如下函数实现内存回收:

bool mysqli_close ( object link)

link指mysqli_connect()函数返回的数据库连接句柄。

如果采用面向对象的编程方式,可以通过如下语句实现:

link->close()

link指PHP预定义的mysqli类实例化后的对象。

实现过程

1)建立conn.php文件,实现与MySQL数据库之间的连接。

(2)通过do…while循环显示该班级所有学生的成绩。代码如下: 

<?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=&#39;center&#39;>序列</p>
                            </td>
                            <td width="156" height="25" bgcolor="#A2D4F4">
                                <p align=&#39;center&#39;>名字</p>
                            </td>
                            <td width="156" height="25" bgcolor="#A2D4F4">
                                <p align=&#39;center&#39;>语文成绩</p>
                            </td>
                            <td width="156" height="25" bgcolor="#A2D4F4">
                                <p align=&#39;center&#39;>数学成绩</p>
                            </td>
                            <td width="156" height="25" bgcolor="#A2D4F4">
                                <p align=&#39;center&#39;>外语成绩</p>
                            </td>
                        </tr>
    <?php
    do{
?>
<tr>
    <td width="156" height="25" bgcolor="#A2D4F4">
        <p align=&#39;center&#39;><?php echo $res[&#39;student_id&#39;];?></p>
    </td>
    <td width="156" height="25" bgcolor="#A2D4F4">
        <p align=&#39;center&#39;><?php echo $res[&#39;name&#39;];?></p>
    </td>
    <td width="156" height="25" bgcolor="#A2D4F4">
        <p align=&#39;center&#39;><?php echo $res[&#39;chinese&#39;];?></p>
    </td>
    <td width="156" height="25" bgcolor="#A2D4F4">
        <p align=&#39;center&#39;><?php echo $res[&#39;mathematics&#39;];?></p>
    </td>
    <td width="156" height="25" bgcolor="#A2D4F4">
        <p align=&#39;center&#39;><?php echo $res[&#39;english&#39;];?></p>
    </td>
</tr>
<?php
    }while($res = mysqli_fetch_array($result, MYSQLI_ASSOC));
}
    $result ->close();
$link ->close();
?>
</table>
(3)实现内存的回收。代码如下:
$result ->close();
$link ->close();

运行以上示例代码如下图所示:

104.png

关于mysqli扩展技术到这里就全部结束了,相信小伙伴们对mysqli的扩展技术有可一定的了解,大家可以再本地试试自己在我们专题中学到的知识!

【相关教程推荐】

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

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

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

Atas ialah kandungan terperinci 通过mysqli扩展技术实现内存回收. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn