我最近完成了一个 PHP 应用程序的数据层。在我的数据层中,我有各种方法来执行不同的 sql 任务,例如选择、插入、删除等。来自 .NET 背景,我练习打开连接,对连接执行任何操作,然后关闭它们。
在最近的一次代码审查中,我被问及这种做法,一位同事说最好在应用程序的生命周期内保持连接打开。他们的理由是打开/关闭连接非常耗时。我的论点是让它们保持打开状态会消耗资源。以下是执行选择查询的数据层的代码示例。我对 PHP 还很陌生,所以我对批评没有真正的回应。任何人都可以对此提供任何见解吗?
public static final function executeSelectQuery($qry){
$connection = mysql_connect(ADS_DB_HOST, ADS_DB_USERNAME, ADS_DB_PASSWORD) or die(ADS_ERROR_MSG . mysql_error());
$db = mysql_select_db(ADS_DB_NAME) or die(ADS_ERROR_MSG . mysql_error());
$result = mysql_query($qry) or die(ADS_ERROR_MSG . mysql_error());
mysql_close();
$results = array();
while($rows = mysql_fetch_assoc(($result))){
$results[] = $rows;
}
return sprintf('{"results":{"rows":%s}}', json_encode($results));
}