首頁  >  文章  >  資料庫  >  透過mysqli擴展技術實現記憶體回收

透過mysqli擴展技術實現記憶體回收

黄舟
黄舟原創
2017-05-07 16:42:001975瀏覽

透過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();

執行上述範例程式碼如下圖所示:

透過mysqli擴展技術實現記憶體回收

關於mysqli擴充技術到這裡就全部結束了,相信小夥伴們對mysqli的擴充技術有可一定的了解,大家可以再本地試試自己在我們專題中學到的知識!

【相關教學推薦】

1. 相關專題推薦:《php操作mysql資料庫

2.【 MYSQL線上免費影片教學

3.相關影片課程 推薦:《初級MySQLi 擴充庫影片教學 # 》

以上是透過mysqli擴展技術實現記憶體回收的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn