我已将以下内容保存到我的dbConnect.php文件中
$host = 'localhost';
$username = 'root';
$pass = 'mypass';
try {
$dbh = new PDO("mysql:host=$host;dbname=horh_new", $username, $pass);
} catch (PDOException $e) {
echo $e->getMessage();
}
在我的脚本中包含此内容的最佳方法是什么?现在,我有一个函数将用户插入到数据库中,它执行以下操作:
function insertUser($username) {
include("dbConnect.php"); // i'd like to not have to include this each time
$query = $dbh->prepare("INSERT INTO users (username) values (?)");
$query->bindParam(1, $username);
$query->execute();
}
显然,我拥有的函数越多,我就越需要包含这个dbConnect.php文件。我是否应该将它包含在具有$ username,$ host和$ pass的私有变量的类中(因此当使用传递给函数的相同变量时没有冲突?
然后在我的脚本的标题中包含一次类而不是在每个函数中?我对PDO很新,所以我想找出最有效的方法。感谢。
答案 0 :(得分:1)
每次包含该内容时,您都在该函数范围内打开一个新连接。只需将其包含在前端Web文件中,并为每个功能全局建立数据库连接。不要多次包含此文件,否则您将打开更多连接,这会导致不必要的减速。
index.php示例:
<?php
include("dbConnect.php");
include("somefunctions.php");
// more stuff, front-facing web stuff, using stuff in somefunctions.php
somefunctions.php:
<?php
function doSomething()
{
global $dbh;
$query = $dbh->prepare("INSERT INTO users (username) values (?)");
// etc.
}