Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Berhijrah dari Fungsi MySQL ke PDO_MySQL?
Cara Menggantikan Fungsi MySQL dengan PDO
Fungsi MySQL kini tidak digunakan lagi dan akan dialih keluar dalam versi PHP akan datang. MySQLi atau PDO_MySQL hendaklah digunakan sebaliknya.
Pelaksanaan PDO
PDO menyediakan antara muka yang konsisten untuk menyambung ke pangkalan data yang berbeza, termasuk MySQL dan MSSQL.
Sambungan:
MySQL:
$dsn = 'mysql:dbname=databasename;host=127.0.0.1'; $dbh = new PDO($dsn, 'dbuser', 'dbpass');
MSSQL:
$dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename'; $dbh = new PDO($dsn, 'dbuser', 'dbpass');
Melaksanakan Pertanyaan:
PDO menggunakan pernyataan yang disediakan, yang menghalang kelemahan suntikan SQL.
$SQL = 'SELECT ID, EMAIL FROM users WHERE user = :username';
Melaksanakan Pertanyaan:
Gunakan sediakan dan laksanakan untuk pertanyaan berubah-ubah.
$query = $dbh->prepare($SQL); $query->execute([':username' => 'someone']);
Mengambil Keputusan:
Gunakan fetch atau fetchAll untuk mendapatkan semula hasil.
while ($row = $query->fetch()) { echo $row['ID'], $row['EMAIL']; }
Pengendalian Pengecualian:
Dayakan pengendalian pengecualian PDO.
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Kemudahan Kelas:
class PDOConnection { function __construct($dsn, $username, $password) { $this->connection = new PDO($dsn, $username, $password); $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->connection->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } function query($SQL) { return $this->connection->query($SQL); } function prepare($SQL, $params = []) { return $this->connection->prepare($SQL)->execute($params); } }
Atas ialah kandungan terperinci Bagaimana untuk Berhijrah dari Fungsi MySQL ke PDO_MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!