`
crystalwiner
  • 浏览: 90339 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

MySQL是否必须用mysql_close释放资源

阅读更多
 
      在今天之前,本人一直认为从php连接mysql,在使用完成后都应该调用mysql_close()手动释放资源。但今天的一个实例里,我怎么也没找到释放的方法,百思不得其解。

      打扰了度娘不久之后,求得一良方,解释是这样的:
    
      通常不需要使用 mysql_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭。参见释放资源。( Note:脚本一结束,到服务器的连接就被关闭,除非之前已经明确调用 mysql_close() 关闭了。)

      注: mysql_close() 不会关闭由 mysql_pconnect() 建立的持久连接。
      由于 PHP4 Zend 引擎引进了引用计数系统,可以自动检测到一个资源不再被引用了(和 Java 一样)。这种情况下此资源使用的所有外部资源都会被垃圾回收系统释放。因此,很少需要手工释放内存。



      详见手册:http://cn.php.net/manual/zh/ref.mysql.php
    
     
分享到:
评论

相关推荐

    MySQL_C_API.rar_API_mysql_doc_mysql api_mysql c语言

    本资源“MySQL_C_API.rar_API_mysql_doc_mysql api_mysql c语言”包含了关于MySQL C API的详细文档,对于进行C语言编程并与MySQL数据库集成的开发者来说,是非常宝贵的参考资料。 在MySQL的C API中,主要包含以下几...

    C_link_mysql.zip_C MYSQL_c++ mysql_connect_mysql c#_mysql c++

    6. **关闭连接**:在完成数据库操作后,我们需要释放资源,断开与MySQL服务器的连接。在C API中,使用`mysql_close()`函数关闭连接,而在C++中,通常会调用智能指针的析构函数自动关闭。 7. **文件名称列表**:只有...

    mysql.rar_c mysql_c++ mysql_mysql c_window mysql

    在Windows环境下,使用C语言与MySQL数据库进行交互是一项常见的任务,尤其对于开发跨平台应用程序的开发者来说。在本文中,我们将深入探讨如何在Windows操作系统上通过C语言连接、操作MySQL数据库,以及涉及到的相关...

    MYSQL.zip_C MYSQL_c++ mysql_linux mysql_linux c mysql_linux mys

    在这个C++示例中,我们使用了`get_driver_instance()`获取驱动,`connect()`方法建立连接,`createStatement()`创建SQL语句对象,`executeQuery()`执行查询,`next()`遍历结果集,最后使用`delete`释放资源。...

    Mysql.rar_C MYSQL_C++ 访问 mysql_c# mysql_c++ mysql_mysql c++

    5. 关闭连接:在完成所有操作后,调用`mysql_close`释放资源并关闭连接。 在C#中访问MySQL,开发者可以使用ADO.NET的MySql.Data.MySqlClient库,步骤类似,但语法和API会有所不同。 总的来说,这个压缩包中的文件...

    mysql-vs.zip_VC++ MYSQL_VC++调用mysql_mysql c++_mysql vc_visual c

    当完成数据库操作后,使用`mysql_close()`关闭连接,释放资源。 在实际开发中,为了提高代码的可读性和可维护性,通常会封装这些低级接口,创建更高级别的数据库访问类。此外,考虑到错误处理和异常安全,使用预...

    CSQL.rar_ CSQL_CSQL_MYSQL改_linux c mysql_linux mysql增删

    8. **资源释放**:操作完成后,必须正确关闭连接和释放资源。`mysql_free_result()`释放结果集,`mysql_close()`关闭数据库连接,最后`mysql_library_end()`结束MySQL库。 9. **示例代码**:在"www.pudn.com.txt"和...

    python-mysql.zip_MYSQL_pymysql_python MySQL_python连接mysql_连接数据库

    7. **关闭连接**:完成数据库操作后,记得关闭游标和连接以释放资源。 ```python cursor.close() conn.close() ``` 在给定的`python-mysql.py`文件中,很可能包含了如何使用`pymysql`连接MySQL数据库的示例代码...

    MySQL.rar_MYSQL_mysql vc_vc mysql

    6. **关闭连接**:在完成所有操作后,应使用`mysql_close()`关闭数据库连接,释放资源。 除了上述基本操作,源代码可能还涉及了更高级的功能,比如预编译语句(使用`mysql_stmt_*`系列函数)、游标操作、存储过程...

    MySql.Data.zip_MYSQL_mysql c#_mysql 连接_mysql连接类_连接MYSQL

    使用完数据库后,记得关闭连接以释放资源: ```csharp connection.Close(); ``` 7. **错误处理和连接池** `MySqlConnection` 类提供了事件处理机制来捕获异常。同时,MySQL 连接池能有效管理连接,提高应用...

    vb_mySQL_Store.zip_MYSQL_VB mysql_show_vb mysql

    确保在操作完成后关闭连接,以释放资源。 5. **执行SQL查询**:使用`MySqlCommand`对象执行SQL语句。例如,创建一个命令对象,设置SQL语句,然后通过连接执行: ```vb Dim cmd As New MySqlCommand("SELECT * ...

    linux_c_connect_mysql.rar_c mysql linux_connect_linux mysql_my

    然后,使用`mysql_init()`初始化这个结构体,接着用`mysql_real_connect()`建立连接。例如: ```cpp MYSQL* conn; conn = mysql_init(NULL); if (!mysql_real_connect(conn, "localhost", "username", "password", ...

    MySQL_API.rar_MYSQL_mysql api

    7. **mysql_close()**:关闭当前数据库连接,释放与之相关的资源。 8. **mysql_errno()**和**mysql_error()**:获取最近一次操作的错误号和错误信息,用于调试和问题排查。 在使用MySQL_API时,还需要注意以下几点...

    mysql1.rar_79ZM_MYSQL_NYG_vb mysql_writingplc

    3. **打开和关闭连接**:使用`Open()`方法打开连接,完成后使用`Close()`方法关闭连接,确保资源的有效管理和释放。 4. **执行SQL命令**:`MySqlCommand`类用于执行SQL命令。例如,创建一个表: ```vbnet Dim cmd...

    MySql-C-API.rar_mysql api_mysql c++

    8. **关闭连接**:使用 `mysql_close()` 关闭数据库连接。C++ 类可能会在析构函数中自动调用此方法,实现资源的自动管理。 9. **内存管理**:C API 使用的字符串和数组通常需要手动释放。C++ 封装可能会使用智能...

    MySQL与Python.zip_MYSQL_MySQL、Python_python 写入MySQL_python mysql

    最后,别忘了关闭游标和连接以释放资源: ```python cursor.close() cnx.close() ``` 这个压缩包可能包含了更复杂的示例,如批量插入、查询数据、更新记录或删除记录等操作。Python的`fetchone()`, `fetchall()`, ...

    mysql.rar_MYSQL_php mysql_php扩展

    6. 关闭连接:操作完成后,记得使用`mysql_close()`关闭数据库连接,以释放资源。 然而,由于`mysql`扩展已不推荐使用,现代的PHP应用应转向`mysqli`或PDO。`mysqli`扩展提供了面向对象和过程两种方式,支持预处理...

    Vocabulary_python_mySQL.rar_MYSQL_python mysql_python MySQL_p

    在执行完SQL操作后,记得关闭游标和连接以释放资源: ```python cursor.close() cnx.close() ``` 在实际项目中,我们可能需要处理更复杂的情况,比如批量插入数据,或者使用预编译语句防止SQL注入。Python的`...

    ASPNET_MySQL.rar_asp mysql_asp.net mysql

    5. **关闭连接**:操作完成后,确保关闭数据库连接以释放资源。 ```csharp conn.Close(); ``` 在这个压缩包中,`WebForm2.aspx`可能是包含一个Web表单的页面,它可能用来展示或编辑从MySQL数据库获取的数据。`...

    MySql.Data.zip_MYSQL_MySql.Data_c# MySql.Data.dll_c# mysql_数据库

    `using`语句块确保了即使发生异常,资源也会被正确释放。 4. 执行SQL命令:`MySqlCommand`类用于执行SQL命令。可以创建一个命令对象,设置其`CommandText`属性为SQL语句,然后调用`ExecuteNonQuery()`(用于INSERT,...

Global site tag (gtag.js) - Google Analytics