我需要建立一个与数据库的连接,并在我的PHP文件中的任何地方使用它。我理解包括但也许我不完全。如果我创建一个包含连接数据库的函数的PHP文件并为其保留一个变量,那么将该文件包含在2个PHP文件中。会有2个连接吗?我怎样才能建立一个连接并在任何地方使用变量?
另请注意,我将使用PDO,如果您提供有关PDO语法的帮助会更好。
答案 0 :(得分:1)
每次加载页面时,数据库都会连接,无论页面加载中包含多少个php文件。
因此,您可以将每页加载的连接数限制为一个。
为此,您需要创建一个连接文件,其中包含以下内容:
$user = 'database_username';
$pass = 'a_Hard_Password';
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
然后,您将保存该文件,并将其命名为db.php
或类似名称。
然后,在您需要使用数据库的任何文件中,您将使用require_once
包含文件一次,如下所示:
require_once 'db.php';
$results = $db->query('SELECT * FROM my_table');
foreach($results AS $row) {
var_dump($row);
}
那里有很多好的资源,这只是一个例子,但对于更复杂的查询,PDO的一个优点是绑定参数,如下所示:
$id = 5; // Or some other useful value
$name = 'James'; // Or your desired query value
$stmt = $db->prepare("SELECT * FROM my_table WHERE id=? AND name=?");
$stmt->execute(array($id, $name));
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($results AS $row) {
// The PDO::FETCH_ASSOC parameter tells it to return an associative array...
echo $row['id'];
echo $row['name'];
// ... etc ...
}