官方说明
要想关闭连接,需要销毁对象以确保所有剩余到它的引用都被删除,可以赋一个 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是一门流行的编程语言,被广泛用于数据科学、人工智能、网络开发和自动化等领域。作为一门高级编程语言,Python的语法简单易懂,具有易学、易用、易读、易维护等优点。
Python的简洁语法使得开发者能够更快地开发代码,并且不会让代码变得混乱不堪。同时,Python也拥有一个庞大的标准库,可以满足开发者的各种需求。此外,Python还有许多第三方库和框架,如Django和Flask,使得开发者能够更加轻松地构建Web应用程序。
Python的另一个优点是它能够在多个平台上运行。这意味着开发者可以使用Python编写一次代码,然后在多个平台上运行,而不需要修改代码。这也为开发者带来了更大的灵活性和可移植性。
Python还是一门开源编程语言,这意味着任何人都可以免费使用它,并且可以自由地修改和分发它。这为开发者带来了很多便利,因为他们可以使用其他开发者创建的库和框架,而不需要重新创建这些功能。
Python的应用非常广泛。例如,在数据科学领域,Python是最受欢迎的编程语言之一。Pandas和NumPy等库使得开发者能够轻松地处理和分析数据。在人工智能领域,Python也是非常流行的,因为它拥有许多机器学习和深度学习库,如TensorFlow和Keras。
总之,Python是一门强大的编程语言,拥有众多的优点和应用场景。如果你想要学习一门编程语言,Python是一个很好的选择。无论你是初学者还是有经验的开发者,Python都能为你提供非常好的学习和开发体验。