包括和MySQL

时间:2014-03-27 23:03:43

标签: php mysql pdo

我需要建立一个与数据库的连接,并在我的PHP文件中的任何地方使用它。我理解包括但也许我不完全。如果我创建一个包含连接数据库的函数的PHP文件并为其保留一个变量,那么将该文件包含在2个PHP文件中。会有2个连接吗?我怎样才能建立一个连接并在任何地方使用变量?

另请注意,我将使用PDO,如果您提供有关PDO语法的帮助会更好。

1 个答案:

答案 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 ...
}