【发布时间】:2013-11-08 02:40:47
【问题描述】:
我想做的事:使用函数通过 PDO 连接到我的数据库,这样我就不必每次都输入连接。
我尝试了什么:
库.php:
function dbconpdo() {
$db = new PDO('mysql:host=localhost;dbname=dbname', 'username', 'password');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}
test.php:
include_once "templates/library.php";
try {
dbconpdo();
$stmt = $db->query('SELECT * FROM users');
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['user'];
echo $row['password'];
echo "test";
}
} catch(PDOException $ex) {
echo $ex;
}
这不起作用,它没有给我任何错误,但根本没有输出任何东西。
什么有效:
test.php:
try {
$db = new PDO('mysql:host=localhost;dbname=dbname', 'username', 'password');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$stmt = $db->query('SELECT * FROM users');
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['user'];
echo $row['password'];
echo "test";
}
} catch(PDOException $ex) {
echo $ex;
}
它有效,但问题是我必须完全删除该功能并手动输入它(连接)。
我的问题: 如何使用函数(或任何类似函数)与我的数据库建立 PDO 连接,这样我就不必在每次连接时手动输入?
【问题讨论】:
-
在使用类和对象之前 - 学习variables scope