やりたいこと:関数を使用して 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 接続を作成する関数 (または同様のもの) を使用するにはどうすればよいですか?