PHP / MYSQL - 到同一个数据库的多个连接?

时间:2016-10-23 22:26:10

标签: php mysql database

我有两个文件:

的config.php

$con = mysqli_connect("$dbhost","$dbuser","$dbpass","$dbname");

ads.php (config.php require_once):

$query1 = mysqli_query($con,"SELECT * From XXXX where id = 'XXXX'");

$query2 = mysqli_query($con,"SELECT * FROM XXXX2 WHERE id = 'XXXX2'");

我使用mysqli_query()有40多个不同的查询$con。请记住,我的所有逻辑都是程序风格,而不是面向对象。

我的两个问题是:

  1. 我是否在每个查询中使用不同的连接连接到数据库?或者第一个执行时只有一次?有一个更好的方法吗?

  2. 我知道关闭mysql连接并不是必须的,因为它关闭了自己,​​但是因为我们有数百万的咨询,有时一些人可以挂起并在用户离开PHP文件后停留超过10秒。如果我想关闭一个连接,我应该把mysqli_close($ con)放在文件的末尾(在40个咨询之后)还是在每次咨询结束时(40次)?

  3. 任何帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:2)

您正在重复使用mysqli_connect中启动的连接。

更好的方法是使用或创建DataHandler并实现PDO。它可以允许您对查询执行时序分析,自动化绑定参数,一旦完成就破坏连接等。

在文件末尾调用mysqli_close($con)。同样为$con以标记垃圾收集。

完成每一步的信息后,您也可以打电话; 与语句句柄相关联的mysqli_free_result($query1)free memory