Hãy coi PDO là lớp được xây dựng sẵn có kèm theo PHP để giúp bạn dễ dàng tương tác với cơ sở dữ liệu của mình hơn. trong khi phát triển một ứng dụng PHP, bạn cần phải chăm sóc rất nhiều thứ như thiết lập kết nối, tạo truy vấn, tìm nạp tài nguyên chuyển đổi kết quả thành một mảng, thoát khỏi MySQL Injection bằng cách sử dụng mysql_real_escape_string()
bây giờ là rất nhiều thứ cần được quan tâm, ít nhất nhưng không phải là cuối cùng xem xét một tình huống mà bạn muốn chuyển từ mysql để mysqli hoặc MSSQL cho rằng bạn cần phải đi qua mỗi và mọi chức năng và thay đổi mỗi dòng mã cho phù hợp với nhu cầu. PDO loại trừ tất cả vấn đề này bằng cách cung cấp một lớp tập trung.
Để xây dựng, hãy xem mã bên dưới.
để thiết lập kết nối tới MySQL Sử dụng PDO:
$dbh = new PDO('mysql:host='.HOST.';dbname='.DATABASE,USERNAME,PASSWORD);
đó là nó, kết nối được thiết lập và bạn có thể tái sử dụng $ dbh để thực hiện các truy vấn ví dụ để lấy kết quả từ một người sử dụng bảng bạn chỉ cần hai dòng mã.
$sth = $dbh->query('SELECT id,name,email FROM users');
$user = $sth->fetch(PDO::FETCH_ASSOC);
Bây giờ $user
sẽ có tất cả giá trị được tìm nạp như một mảng kết hợp.
Để chèn giá trị vào cơ sở dữ liệu bạn cần thực hiện các thao tác sau.
$sth = $dbh->prepare('INSERT INTO users(name,email) VALUES(:name, :email)');
$sth->bindParam(':name', 'My Name');
$sth->bindParam(':email', '[email protected]');
$sth->execute();
Đoạn mã trên sẽ sử dụng trình giữ chỗ được đặt tên theo cách này PDO sẽ giúp bạn tránh xa khỏi việc tiêm MySQL. để giúp bạn bắt đầu có một cái nhìn tại hướng dẫn này bởi netttus, họ đã giải thích nó rất độc đáo, bài viết này sẽ giải thích tất cả các tình huống khó xử của bạn về PDO
http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/
thể trùng lặp của [mysql vs PDO] (http: // stackoverflow.com/questions/866860/mysql-vs-pdo) –
Hãy nhìn vào MySQLi. Đây là một lớp OOP để truy cập MySQL trong PHP. Đó là một sự kết hợp giữa SQL thô và PDO. –
@T. Brian Jones là bạn đang nói về tuyên bố chuẩn bị? –