関数から$ db接続を返そうとしていますので、別の関数で使用することができます。しかし、誰かの関数は$ db変数を理解していません。関数からデータベース接続を返します
function dbConnection(){
$dbhost = 'localhost';
$dbuser = '...';
$dbpass = '...';
$dbname = '...';
try {
$db = new PDO("mysql:host=$dbhost;dbname=$dbname;charset=UTF8", $dbuser, $dbpass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $db;
} catch (PDOException $e){
echo 'Connection failed: ' . $e->getMessage();
}
}
次に、すべての機能で使用してください。
function getCurrentFile(){
dbConnection();
$stmt = $db->prepare(...);
$stmt->execute();
}
db接続を処理するより好ましい方法はありますか?私はrequire_once config.php(ここではdb接続のみ)ファイルを毎回使用していましたが、もうこれをやりたくありません。
クラスを使用して見たいかもしれません。 –
クラスを使用し、PDO接続を確立する構造関数を持っています。そこから、あなたはクラス内と外のどこでもそれを使用することができます – Akintunde007
セキュリティに関して多くの落とし穴があるので、独自のデータベースコードを実行するのではなく、試されたdb-abstractionライブラリを使うことをお勧めします。 –