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