Rumah > Artikel > pembangunan bahagian belakang > Bagaimana Menggantikan Fungsi MySQL dengan PDO: Panduan untuk Kesambungan Pangkalan Data Moden dalam PHP?
Cara Menggantikan Fungsi MySQL dengan PDO
Pengenalan:
Pelanjutan MySQL ditamatkan dalam PHP dan harus digantikan dengan MySQLi atau PDO_MySQL untuk sambungan pangkalan data. PDO (Objek Data PHP) menawarkan antara muka moden berorientasikan objek untuk mengakses berbilang pangkalan data.
Menyambung ke Pangkalan Data MySQL dan MSSQL:
MySQL:
$dsn = 'mysql:dbname=database_name;host=localhost'; $user = 'username'; $password = 'password'; $dbh = new PDO($dsn, $user, $password);
MSSQL:
$dsn = 'sqlsrv:Server=localhost;Database=database_name'; $user = 'username'; $password = 'password'; $dbh = new PDO($dsn, $user, $password);
Melaksanakan Pertanyaan:
PDO menggunakan pernyataan yang disediakan untuk pelaksanaan pertanyaan , melindungi daripada suntikan SQL.
Contoh SQL:
$SQL = 'SELECT ID, EMAIL FROM users WHERE user = :username';
Melaksanakan Pertanyaan:
// Prepare statement with array of named variables $result = $dbh->prepare($SQL); $result->execute([':username' => $username]); // OR // Prepare statement with named placeholder indicator $result = $dbh->prepare($SQL); $result->bindValue(':username', $username); $result->execute();
Mengambil Keputusan:
// Fetch a single row as an array $row = $result->fetch(); // Fetch all rows as an array $rows = $result->fetchAll();
Menggunakan Kelas Pembantu:
Untuk memudahkan interaksi pangkalan data, pertimbangkan untuk menggunakan kelas seperti berikut:
class PDOConnection { public $connection; public function __construct($dsn, $username, $password) { $this->connection = new PDO($dsn, $username, $password); $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } public function query($SQL) { return $this->connection->query($SQL); } public function prepare($SQL, $params = []) { $result = $this->connection->prepare($SQL); $result->execute($params); return $result; } }
Contoh Penggunaan:
$db = new PDOConnection($dsn, $user, $password); $SQL = 'SELECT ID, EMAIL FROM users WHERE user = :username'; $result = $db->prepare($SQL, ['username' => $username]); while ($row = $result->fetch()) { echo $row['ID'] . ' ' . $row['EMAIL']; }
Atas ialah kandungan terperinci Bagaimana Menggantikan Fungsi MySQL dengan PDO: Panduan untuk Kesambungan Pangkalan Data Moden dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!