Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Menggantikan Fungsi MySQL dengan PDO: Panduan untuk Kesambungan Pangkalan Data Moden dalam PHP?

Bagaimana Menggantikan Fungsi MySQL dengan PDO: Panduan untuk Kesambungan Pangkalan Data Moden dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-11-16 04:07:50929semak imbas

How to Replace MySQL Functions with PDO: A Guide to Modern Database Connectivity in 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn