最早在 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;