0
次のコードは動作しますが、この手法の方がより良いアプローチになると思いますか?私は各クエリの新しいインスタンスを作成するのではなく、接続の再利用を開始したいと思います。 私のコードに実際的なアドバイスと解決策はありますか?リクエストごとに新しいインスタンスを作成するのではなく、DB接続を再利用する
<?php
class dbc {
function openDb() {
$dbserver = '';
$dbusername = '';
$dbpassword = '';
$dbname = '';
try {
$db = new PDO('mysql:host=' . $dbserver . ';port=3306;dbname=' . $dbname . ';charset=utf8', '' . $dbusername . '', '' . $dbpassword . '', array(PDO::MYSQL_ATTR_INIT_COMMAND =>"SET SESSION time_zone = 'America/Chicago'"));
$timezone = "America/Chicago";
$db->exec("SET time_zone = '{$timezone}'");
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die("error, please try again");
}
return $db;
}
}
<?php
require 'dbc.php';
function getDailyProfitability() {
$db = new dbc();
$query = "SELECT 1 FROM DUAL";
$stmt = $db->openDb()->prepare($query);
$stmt->execute();
return $stmt->fetchAll();
}
?>