Include and MySQL


Include and MySQL

我需要与数据库建立一个连接,并在PHP文件中的任何地方使用它。我理解include,但可能我没有完全理解。如果我创建一个PHP文件,其中包含连接到数据库的函数,并为它留下一个变量,那么将该文件包含在2个PHP文件中。有2次转机吗?我怎么能只做一个连接,并在任何地方使用变量?

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

数据库将在每次加载页面时连接,无论页面加载中包含多少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 ...
}