PHP Editor Xinyi telah membawakan anda artikel yang menarik tentang amalan terbaik PHP PDO, meneroka cara meningkatkan kualiti dan keselamatan kod dengan menggunakan PDO (Objek Data PHP). PDO ialah cara yang disyorkan untuk mengendalikan pangkalan data dalam PHP, yang boleh menghalang isu keselamatan dengan berkesan seperti suntikan SQL dan meningkatkan kebolehselenggaraan dan kebolehskalaan kod. Dengan mempelajari dan menggunakan amalan terbaik PHP PDO, pembangun boleh melindungi keselamatan data dengan lebih baik dan meningkatkan kualiti kod.
Berikut ialah beberapa amalan terbaik PHP PDO:
Pernyataan yang disediakan ialah mekanisme yang memisahkan pernyataan dan data SQL ke dalam pangkalan data. Ini menghalang serangan suntikan SQL dan meningkatkan prestasi pertanyaan.
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ? AND passWord = ?");
$stmt->execute([$username, $password]);
$user = $stmt->fetch();
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password"); $stmt->bindParam(":username", $username); $stmt->bindParam(":password", $password); $stmt->execute(); $user = $stmt->fetch();
ialah mekanisme yang melaksanakan satu set operasi pangkalan data sebagai satu unit. Jika mana-mana satu operasi dalam urus niaga gagal, keseluruhan transaksi akan ditarik balik. Ini memastikan ketekalan data.
$pdo->beginTransaction();
$stmt = $pdo->prepare("UPDATE users SET username = ? WHERE id = ?");
$stmt->execute([$newUsername, $id]);
$stmt = $pdo->prepare("UPDATE posts SET author = ? WHERE author_id = ?");
$stmt->execute([$newUsername, $id]);
$pdo->commit();
try { $stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?"); $stmt->execute([$username]); $user = $stmt->fetch(); } catch (PDOException $e) { echo $e->getMessage(); }
PDO::errorCode()
和 PDO::errorInfo()
$dsn = "mysql:host=localhost;dbname=my_database"; $username = "root"; $password = ""; $options = [ PDO::ATTR_PERSISTENT => true, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ]; $pdo = new PDO($dsn, $username, $password, $options);
. Pendekatan berorientasikan objek adalah lebih fleksibel dan berkuasa.
$pdo = new PDO("mysql:host=localhost;dbname=my_database", "root", "");
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$username]);
$user = $stmt->fetchObject();
$pdo = new PDO("mysql:host=localhost;dbname=my_database", "root", ""); $stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?", [PDO::PARAM_STR]); $stmt->execute(); $user = $stmt->fetch();
Atas ialah kandungan terperinci Amalan Terbaik PHP PDO: Meningkatkan Kualiti dan Keselamatan Kod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!