最早在 php 要連結資料庫會透過 mysqli 建立物件,像是這樣:
$servername = "localhost";
$username = "username";
$password = "password";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
不過由於這個方式沒有去阻擋 SQL Injection,所以會有很大的安全性的問題,所以現在都會建議要用 PDO 的方式來連線。
PDO全名PHP Data Object,它是使用類似mysqli物件導向資料庫存取方式來撰寫資料庫程式,不過mysqli只支援MySQL資料庫系統,PDO能夠支援超過十種伺服器,也就是我們可以寫出相同PDO來存取不同的資料庫系統。
所以一樣是連結資料庫,透過 PDO 的話就會變成這樣寫:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "db";
try {
$db_host = new PDO(
"mysql:host={$servername};dbname={$dbname};charset=utf8",
$username,
$password
);
} catch (PDOException $e) {
echo "資料庫連接失敗!
";
echo "Error: " . $e->getMessage() . "
";
exit;
}
資料庫操作完,要透過 PDO 關閉連線的話則是像這樣寫:
$db_host=null;