我想从函数返回$ db连接,以便我可以在另一个函数中使用它。但有人函数不理解$ db变量。从函数返回数据库连接
function dbConnection(){
$dbhost = 'localhost';
$dbuser = '...';
$dbpass = '...';
$dbname = '...';
try {
$db = new PDO("mysql:host=$dbhost;dbname=$dbname;charset=UTF8", $dbuser, $dbpass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $db;
} catch (PDOException $e){
echo 'Connection failed: ' . $e->getMessage();
}
}
然后在我所有的功能中使用它。
function getCurrentFile(){
dbConnection();
$stmt = $db->prepare(...);
$stmt->execute();
}
是否有更好的方法来处理数据库连接?我以前每次都要require_once config.php(其中只有db连接)文件,但我不想再这样做。
你可能想看看使用类 –
然后使用一个类,有一个构造函数来建立PDO连接。从那里,你将能够在课堂以外的任何其他地方使用它 – Akintunde007
我建议使用经过验证和测试的db抽象库而不是运行自己的数据库代码,因为在安全性等方面存在很多缺陷。 –