如何正確設(shè)置PDO連接我不時會看到關(guān)于連接數(shù)據(jù)庫的問題。大多數(shù)答案不是我做的那樣,或者我可能得不到正確的答案。無論如何,我從來沒有想過這件事,因為我這樣做是為了我自己。但是這里有一個瘋狂的想法;也許我做錯了,如果是這樣的話;我真的很想知道如何使用PHP和PDO正確地連接到MySQL數(shù)據(jù)庫,并使它更容易訪問。我就是這樣做的:首先,這是我的文件結(jié)構(gòu)(脫去):public_html/* index.php
* initialize/
-- load.initialize.php
-- configure.php
-- sessions.phpindex.php在最上面,我require('initialize/load.initialize.php');.load.initialize.php# site configurations
require('configure.php');# connect to database
require('root/somewhere/connect.php'); // this file is placed outside of public_html for better security.# include classes
foreach (glob('assets/classes/*.class.php') as $class_filename){
include($class_filename);
}# include functions
foreach (glob('assets/functions/*.func.php') as $func_filename){
include($func_filename);
}# handle sessions
require('sessions.php');我知道有一種更好或者更正確的方法來包含類,但是我不記得它是什么。還沒來得及調(diào)查,但我覺得autoload..差不多吧.。figre.php在這里,我基本上只是覆蓋了一些php.ini-屬性并為站點執(zhí)行其他全局配置connect.php我已經(jīng)將連接放到一個類上,以便其他類可以延展這個.。class connect_pdo{
protected $dbh;
public function __construct()
{
try {
$db_host = ' '; // hostname
$db_name = ' '; // databasename
$db_user = ' '; // username
$user_pw = ' '; // password
$con = new PDO('mysql:host='.$db_host.'; dbname='.$db_name, $db_user, $user_pw);
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$con->exec("SET CHARACTER SET utf8"); // return all sql requests as UTF-8
}
catch (PDOException $err) {
echo "harmless error message if the connection fails";
$err->getMessage() . "<br/>";
file_put_contents('PDOErrors.txt',$err, FILE_APPEND); // write some details to an error-log outside public_html
die(); // terminate connection
}
}在這里,我相信有巨大的改進空間,因為我最近開始學(xué)習(xí)OOP,并使用PDO而不是MySQL。所以我剛剛學(xué)習(xí)了幾個初學(xué)者的教程,并嘗試了不同的東西.
如何正確設(shè)置PDO連接
12345678_0001
2019-06-01 16:20:15