官方说明
要想关闭连接,需要销毁对象以确保所有剩余到它的引用都被删除,可以赋一个 NULL 值给对象变量。如果不明确地这么做,PHP 在脚本结束时会自动关闭连接。$pdo = new PDO('mysql:host=127.0.0.1;port=3306;dbname=blog_test', 'root', ''); $pdo = null;
实际测试
我们来这样进行一下测试,正常情况下,我们打开数据库连接后都不会直接就关闭,而是要进行一些操作。$pdo = new PDO('mysql:host=127.0.0.1;port=3306;dbname=blog_test', 'root', ''); $stmt = $pdo->prepare('SELECT * FROM zyblog_test_user'); $stmt->execute(); $pdo = null; sleep(60);
$pdo = new PDO('mysql:host=127.0.0.1;port=3306;dbname=blog_test', 'root', ''); $stmt = $pdo->prepare('SELECT * FROM zyblog_test_user'); $stmt->execute(); $stmt = null; $pdo = null; sleep(60);
mysqli测试
那么使用 mysqli 的默认扩展组件,也就是使用 mysqli 对象中的 close() 来关闭数据库连接会有这个问题吗?还是直接用代码来测试测试。( mysql 扩展已经过时不推荐使用了,大家如果要自己封装数据库操作类或者写小 Demo 的话还是要用 mysqli 更好一些 )$conn = new mysqli('127.0.0.1', 'root', '', 'blog_test'); $result = $conn->query('SELECT * FROM zyblog_test_user'); $stmt = $conn->prepare("SELECT * FROM zyblog_test_user"); $stmt->execute(); $conn->close(); sleep(60);
总结
其实今天的内容也是官方文档关于数据库连接这一页文档上的一个 Note 中的信息。很早就有大神发现了这个问题并且分享了出来,但是大部分人根本都不知道这个问题,甚至很多人连 PDO 也是可以关闭数据库连接的都不知道。框架在带给我们便利的同时,确实也将很多东西封装的太好了,以至于很多朋友都不去关心底层的一些内容,但是,当你向更高阶层迈进时,往往这些底层的东西会成为你的阻碍。Python是目前最受欢迎的编程语言之一,而PyCharm则是Python开发者最常用的集成开发环境之一。PyCharm不仅仅是一个代码编辑器,它还有许多强大的功能,可以提高Python编程的效率。下面我们将介绍PyCharm的一些高效使用方法。
首先,PyCharm具有智能代码补全的功能,这可以大大减少代码输入的时间和错误。当你在输入代码时,PyCharm会自动弹出一个下拉列表,列出可能要输入的代码段。这个下拉列表的建议是基于你的代码,甚至是项目整体的上下文。这个功能的好处是让你更加专注于你的代码逻辑,而不是为了输入一个方法名或者变量名而浪费时间。
其次,PyCharm还有许多内置的快捷键,这些快捷键可以帮助你更快地编写代码。例如,使用Ctrl + Alt + L可以格式化代码,使用Ctrl + Alt + T可以快速生成代码片段,使用Shift + F6可以快速重命名一个变量。这些快捷键可以大大提高你的编程效率,让你更专注于你的代码。
另外,PyCharm还可以帮助你进行调试,这对于开发大型项目是非常有用的。当你在进行调试时,PyCharm可以提供强大的调试工具,例如断点调试、变量监视、堆栈跟踪等等。这些工具可以让你更快地定位和解决代码中的问题,提高开发效率。
最后,PyCharm还有一些强大的插件,这些插件可以增强PyCharm的功能,使得它可以支持更多的开发任务。例如,PyCharm可以支持Django和Flask等Web框架,它还可以支持各种数据库和云服务。通过安装这些插件,你可以更加轻松地进行Python开发,同时也可以让你的编程效率更高。
总之,PyCharm是Python开发者必备的工具之一。它不仅可以提高编程效率,而且可以让你更加专注于你的代码逻辑。如果你是一位Python开发者,不妨试试PyCharm,相信你会爱上它的强大功能。