PDO LÀ GÌ

*
PDO (PHP. Data Objects), phía trên trọn vẹn không hẳn là 1 khái niệm new nó được trình làng lần đầu tiên nghỉ ngơi phiên bản PHP 5 cơ mà hiện nay thì PHPhường 5 đang rất được thực hiện cực kỳ thông dụng. Vậy thì PDO là gì cùng nó hoạt động như thế nào?- Dịch ra một bí quyết è cổ trụi thì PDO (PHP. Data Objects) là những đối tượng dữ liệu vào PHP, diễn giải theo ý nghĩa khác khác là nó đang gửi tất cả tài liệu thành đối tượng. Đồng thời nó cũng hỗ trợ các phương thức nhằm thao tác cùng với các đại lý dữ liệu. Trong các hệ đại lý tài liệu được PDO cung ứng mình vẫn liệt kê một vài ba chiếc chúng ta hay giỏi chạm mặt, giả dụ các bạn muốn bài viết liên quan thì rất có thể vào trực tiếp trang php manual giúp xem trên phía trên. Còn mình vẫn liệt kê một trong những mẫu như sau:

Bạn đang xem: Pdo là gì

PDO (PHP.. Data Objects), đây trọn vẹn chưa phải là một có mang new nó được ra mắt lần trước tiên nghỉ ngơi phiên bạn dạng PHP. 5 nhưng bây giờ thì PHPhường 5 đang rất được sử dụng siêu phổ cập. Vậy thì PDO là gì với nó vận động như thế nào?- Dịch ra một biện pháp trần trụi thì PDO (PHP Data Objects) là những đối tượng người dùng dữ liệu vào PHP.., diễn đạt theo ý riêng không giống là nó đã chuyển tất cả dữ liệu thành đối tượng người tiêu dùng. Đồng thời nó cũng cung ứng những cách thức để thao tác cùng với cơ sở tài liệu. Trong những hệ các đại lý tài liệu được PDO hỗ trợ mình đang liệt kê một vài ba cái chúng ta hay hay gặp gỡ, trường hợp các bạn muốn xem thêm thì cóthể vào trực tiếp trang php manual để thấy trên trên đây. Còn bản thân vẫn liệt kê một số chiếc như sau: - PDO_MySquốc lộ (MySQL 3.x/4.x/5.x)- PDO_DBLIB (FreeTDS / Microsoft Squốc lộ Server / Sybase)- PDO_OCI (Oracle Call Interface)- PDO_ODBC (ODBC v3)PDO đang thao tác làm việc cùng với đại lý tài liệu của bọn họ theo mô hình sau:
*
Tùy theo từng hệ cơ sở dữ liệu mà chúng ta có thể chọn driver riêng để kết nối tương xứng. Còn vào bài viết này mình vẫn trả lời chúng ta thực hiện bên trên MySquốc lộ, tất nhiên rồi bởi phần nhiều họ hầu như làm việc với cái này cơ mà. Bắt đầu làm sao. Kết nối cùng với DB- Trước tiên các bạn đề nghị chắc chắn rằng rằng extension php_pdo_MySQL.dll đã có nhảy.1extension=php_pdo_MySQL.dll - Cú pháp để kết nối cùng với DB thực hiện PDO tương đối không giống một ít đối với biện pháp thường thì, cụ thể như sau:
try$host = "localhost";$dbname = "pdo";$user = "root";$pass = "root";$db = new PDO("MySQL:host=".$host.";dbname=".$dbname, $user, $pass);catch(Exception $exc)eđến $exc->getMessage();
Exceptions cùng PDO- PDO vẫn có thể áp dụng Exception để cách xử lý những lỗi cùng lời khuim là phần đông thao tác nào tương quan cho PDO thì rất tốt chúng ta nên được đặt trong try/catch, kiểu như đoạn kết nối DB phía trên của bản thân mình. khi sử dụng Exception buộc phải chú ý những điều sau:Có 3 chế độ:- PDO::ERRMODE_SILENT: khi gặp mặt lỗi thì nó vẫn làm lơ cùng tiếp tục chạy. Cái này tiện mang lại production.- PDO::ERRMODE_WARNING: Lúc gặp lỗi nó đã xuất ra thông tin và liên tục chạy. Cái này luôn tiện cho bài toán debug.- PDO::ERRMODE_EXCEPTION: Khi gặp gỡ lỗi nó vẫn giới thiệu Exception và mang lại chúng ta giải pháp xử lý. Chúng ta vẫn thực hiện tính năng này.Và đoạn liên kết Database hoàn chỉnh sẽ nhỏng sau:
try$host= "localhost";$dbname= "pdo";$user= "root";$pass= "root"; // Kết nối với DB$db = new PDO("MySQL:host=".$host.";dbname=".$dbname, $user, $pass); // Thiết lập chính sách báo lỗi$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);catch// Xử lý Exceptionemang lại "Bị lỗi rồi T_T.";file_put_contents("log.txt", $exc->getMessage() . "rn", FILE_APPEND);
Insert cùng Update- Đây là 2 làm việc cực kỳ thân thuộc lúc thao tác với DB. Nhưng thực hiện PDO chúng ta buộc phải tuân thủ theo phương pháp sau đây:
*
- Chỉ tất cả 3 bước dễ dàng vậy thôi. Việc tuân thủ theo quy trình này để giúp đỡ chúng ta tránh khỏi những lỗi tương quan mang lại SQL-Injection, đây là một lỗi cũng rất phổ biến ah nha.- Có 2 cách để prepare một câu query:
// Tmê say số không định danh$st = $db->prepare("INSERT INTO user(username,password,email) VALUES (?,?,?)"); // Tsay đắm số định danh$st = $db->prepare("INSERT INTO user(username,password,email) VALUES (:user,:pass,:email)");
- Tùy vào mỗi biện pháp chúng ta sẽ sở hữu cách bind tmê mệt số khác nhau Tmê say số ko định danh $st = $db->prepare("INSERT INTO user(username,password,email) VALUES (?,?,?)");$data = array("kevin","123456","contact
$st = $db->prepare("INSERT INTO user(username,password,email) VALUES (:user,:pass,:email)");$data = array( "username"=>"kevin", "password"=>"123456", "email"=>"contact

Xem thêm:

Selecting Data
*
- Cũng như bí quyết thông thường, tài liệu Lúc được đem lên đề nghị được fetch vào một array, object hoặc class thì bọn họ new hoàn toàn có thể áp dụng được. PDO cũng cung ứng cho chúng ta một số chế độ fetch cơ phiên bản nhỏng sau: PDO::FETCH_BOTH (default): Trả về một mảng bao hàm cả thiết bị tựPDO::FETCH_ASSOC: Trả về một mảngPDO::FETCH_OBJ: Trả về một object PDO::FETCH_BOTH
// FETCH_BOTH$statement = $db->query("SELECT username,gmail FROM user");$statement->execute();$statement->setFetchMode(PDO::FETCH_BOTH);while($row = $statement->fetch())emang lại $row<"username">;emang lại $row<"email">;
// FETCH_ASSOC$statement = $db->query("SELECT username,email FROM user");$statement->execute();$statement->setFetchMode(PDO::FETCH_ASSOC);while($row = $statement->fetch())emang đến $row<"username">;echo $row<"email">; // Cấu trúc tài liệu trả vềArray( => kevin => contact
minhtringuyen.info)
PDO::FETCH_OBJ:
CODE
// FETCH_OBJ$statement = $db->query("SELECT username,tin nhắn FROM user");$statement->execute();$statement->setFetchMode(PDO::FETCH_OBJ);while($row = $statement->fetch())eđến $row->username;emang lại $row->email; // Cấu trúc tài liệu trả vềstdClass Object( => kevin => contact
- Trên đấy là toàn cục công việc cơ phiên bản nhất nhằm thao tác làm việc với PDO, hi vọng nội dung bài viết bài xích bổ ích mang đến phần lớn bạn mới tiếp cận với tính năng này ^^