Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Berhijrah daripada Fungsi MySQL yang Dihentikan kepada PDO untuk MySQL dan MSSQL?

Bagaimana untuk Berhijrah daripada Fungsi MySQL yang Dihentikan kepada PDO untuk MySQL dan MSSQL?

Mary-Kate Olsen
Lepaskan: 2025-01-10 09:33:42
asal
465 orang telah melayarinya

How to Migrate from Deprecated MySQL Functions to PDO for MySQL and MSSQL?

Tukar fungsi MySQL kepada PDO untuk MySQL dan MSSQL

Penyingkiran fungsi MySQL dan alternatif

Pelanjutan fungsi MySQL ditamatkan dan akan dialih keluar dalam keluaran akan datang. Adalah disyorkan untuk menggunakan MySQLi atau sambungan PDO_MySQL sebagai alternatif. MySQLi dan PDO menyediakan keselamatan dan fungsi yang lebih baik berbanding dengan fungsi MySQL.

Melaksanakan PDO

PDO (Objek Data PHP) ialah API berorientasikan objek untuk mengakses pangkalan data. Untuk menyambung ke pangkalan data menggunakan PDO, cipta contoh PDO baharu menggunakan pembina PDO.

Sambung ke MySQL

<code class="language-php">$dsn = 'mysql:dbname=databasename;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);</code>
Salin selepas log masuk

Sambung ke MSSQL

<code class="language-php">$dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename';
$user = 'dbuser';
$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);</code>
Salin selepas log masuk

Gunakan PDO untuk melaksanakan pertanyaan

PDO menggunakan pernyataan yang disediakan untuk mengelakkan kelemahan suntikan SQL. Kenyataan yang disediakan mentakrifkan pertanyaan SQL dengan ruang letak yang dinamakan atau diindeks untuk mewakili pembolehubah.

<code class="language-php">$SQL = 'SELECT ID, EMAIL FROM users WHERE user = :username';
$preparedStatement = $dbh->prepare($SQL);</code>
Salin selepas log masuk

Ikat pembolehubah

Gunakan bindParam atau bindValue untuk mengikat nilai pada pernyataan yang disediakan.

<code class="language-php">$preparedStatement->bindParam(':username', $username);</code>
Salin selepas log masuk

Lakukan pertanyaan

Laksanakan kenyataan yang disediakan untuk mendapatkan hasil.

<code class="language-php">$preparedStatement->execute();</code>
Salin selepas log masuk

Dapatkan hasil

PDO menyediakan kaedah seperti fetch dan fetchAll untuk mendapatkan semula hasil sebagai tatasusunan.

<code class="language-php">while ($row = $preparedStatement->fetch()) {
    echo $row['ID'];
    echo $row['EMAIL'];
}</code>
Salin selepas log masuk

Gunakan kelas sambungan PDO

Anda boleh mencipta kelas sambungan PDO untuk memudahkan operasi pangkalan data.

<code class="language-php">class Database {

    protected $connection;

    public function __construct($dsn, $user, $password) {
        $this->connection = new PDO($dsn, $user, $password);
    }

    public function query($SQL) {
        return $this->connection->query($SQL);
    }

    public function prepare($SQL, $params = []) {
        $preparedStatement = $this->connection->prepare($SQL);
        $preparedStatement->execute($params);
        return $preparedStatement;
    }

}

// 使用方法:
$db = new Database($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'];
    echo $row['EMAIL'];
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Berhijrah daripada Fungsi MySQL yang Dihentikan kepada PDO untuk MySQL dan MSSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan