搜索
首页数据库mysql教程通过mysqli扩展技术实现内存回收

通过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 扩展库视频教程

以上是通过mysqli扩展技术实现内存回收的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
与其他RDBM相比,MySQL如何处理并发?与其他RDBM相比,MySQL如何处理并发?Apr 29, 2025 am 12:44 AM

MySQLhandlesconcurrencyusingamixofrow-levelandtable-levellocking,primarilythroughInnoDB'srow-levellocking.ComparedtootherRDBMS,MySQL'sapproachisefficientformanyusecasesbutmayfacechallengeswithdeadlocksandlacksadvancedfeatureslikePostgreSQL'sSerializa

MySQL与其他关系数据库相比如何处理交易?MySQL与其他关系数据库相比如何处理交易?Apr 29, 2025 am 12:37 AM

mysqlHandLestActionSefectefectionalytheinnodbengine,supportingAcidPropertiessimilartopostgresqlesqlandoracle.1)mySqluessRepeTableReadAbleDasthEdefaultIsolationLelealevel,该canbeadjustEdToreDtoreDtoreadCommententCommententCommententCommententCommittedForHigh-TrafficsCenarios.2)

MySQL中有哪些数据类型?MySQL中有哪些数据类型?Apr 29, 2025 am 12:28 AM

MySQL的数据类型分为数值、日期和时间、字符串、二进制和空间类型。选择正确的类型可以优化数据库性能和数据存储。

在MySQL中编写有效的SQL查询的最佳实践是什么?在MySQL中编写有效的SQL查询的最佳实践是什么?Apr 29, 2025 am 12:24 AM

最佳实践包括:1)理解数据结构和MySQL处理方式,2)适当索引,3)避免SELECT*,4)使用合适的JOIN类型,5)谨慎使用子查询,6)使用EXPLAIN分析查询,7)考虑查询对服务器资源的影响,8)定期维护数据库。这些做法能使MySQL查询不仅快速,还具备可维护性、可扩展性和资源效率。

MySQL与PostgreSQL有何不同?MySQL与PostgreSQL有何不同?Apr 29, 2025 am 12:23 AM

MySQLisbetterforspeedandsimplicity,suitableforwebapplications;PostgreSQLexcelsincomplexdatascenarioswithrobustfeatures.MySQLisidealforquickprojectsandread-heavytasks,whilePostgreSQLispreferredforapplicationsrequiringstrictdataintegrityandadvancedSQLf

MySQL如何处理数据复制?MySQL如何处理数据复制?Apr 28, 2025 am 12:25 AM

MySQL通过异步、半同步和组复制三种模式处理数据复制。1)异步复制性能高但可能丢失数据。2)半同步复制提高数据安全性但增加延迟。3)组复制支持多主复制和故障转移,适用于高可用性需求。

您如何使用解释性语句分析查询性能?您如何使用解释性语句分析查询性能?Apr 28, 2025 am 12:24 AM

EXPLAIN语句可用于分析和提升SQL查询性能。1.执行EXPLAIN语句查看查询计划。2.分析输出结果,关注访问类型、索引使用情况和JOIN顺序。3.根据分析结果,创建或调整索引,优化JOIN操作,避免全表扫描,以提升查询效率。

您如何备份并还原MySQL数据库?您如何备份并还原MySQL数据库?Apr 28, 2025 am 12:23 AM

使用mysqldump进行逻辑备份和MySQLEnterpriseBackup进行热备份是备份MySQL数据库的有效方法。1.使用mysqldump备份数据库:mysqldump-uroot-pmydatabase>mydatabase_backup.sql。2.使用MySQLEnterpriseBackup进行热备份:mysqlbackup--user=root--password=password--backup-dir=/path/to/backupbackup。恢复时,使用相应的命

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具