*
PDO (PHPhường Data Objects), đây hoàn toàn không phải là 1 trong những tư tưởng bắt đầu nó được giới thiệu lần thứ nhất nghỉ ngơi phiên bạn dạng PHPhường 5 mà lại hiện nay thì PHPhường 5 đang được áp dụng hết sức thông dụng. Vậy thì PDO là gì với nó hoạt động như vậy nào?- Dịch ra một bí quyết nai lưng trụi thì PDO (PHP Data Objects) là các đối tượng dữ liệu vào PHPhường, nói theo cách khác là nó vẫn gửi tất cả dữ liệu thành đối tượng người dùng. Đồng thời nó cũng cung cấp các cách làm nhằm thao tác làm việc cùng với đại lý tài liệu. Trong những hệ đại lý dữ liệu được PDO cung ứng bản thân đang liệt kê một vài ba chiếc chúng ta thường xuyên xuất xắc gặp gỡ, nếu những bạn có nhu cầu xem thêm thì rất có thể vào thẳng trang php manual để xem tại phía trên. Còn bản thân đã liệt kê một số trong những cái nhỏng sau:

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

PDO (PHP Data Objects), đây trọn vẹn không hẳn là một trong những có mang mới nó được giới thiệu lần thứ nhất sinh hoạt phiên bản PHP 5 mà hiện nay thì PHP. 5 đang rất được áp dụng siêu phổ cập. Vậy thì PDO là gì cùng nó hoạt độ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 tài liệu trong PHPhường, nói theo cách khác là nó đang gửi tất cả dữ liệu thành đối tượng. Đồng thời nó cũng hỗ trợ những cách tiến hành để thao tác làm việc với cơ sở dữ liệu. Trong các hệ cơ sở dữ liệu được PDO hỗ trợ bản thân đang liệt kê một vài ba dòng bọn họ hay hay chạm chán, trường hợp các bạn có nhu cầu đọc thêm thì cóthể vào thẳng trang php manual giúp thấy tại phía trên. Còn bản thân sẽ liệt kê một vài chiếc như sau: - PDO_MySQL (MySquốc lộ 3.x/4.x/5.x)- PDO_DBLIB (FreeTDS / Microsoft SQL Server / Sybase)- PDO_OCI (Oracle Gọi Interface)- PDO_ODBC (ODBC v3)PDO đã làm việc với các đại lý tài liệu của chúng ta theo mô hình sau:
*
Tùy theo từng hệ cửa hàng dữ liệu cơ mà bạn có thể chọn driver riêng rẽ nhằm kết nối tương xứng. Còn trong bài viết này bản thân đã giải đáp chúng ta thực hiện trên MySquốc lộ, đương nhiên rồi vì chưng phần lớn chúng ta đầy đủ thao tác với cái này nhưng mà. Bắt đầu như thế nào. Kết nối cùng với DB- Trước hết chúng ta đề xuất chắc hẳn rằng rằng extension php_pdo_MySquốc lộ.dll đã làm được bật.1extension=php_pdo_MySquốc lộ.dll - Cú pháp để liên kết cùng với DB thực hiện PDO hơi khác một ít đối với cách thông thường, ví dụ nhỏng 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 hoàn toàn có thể thực hiện Exception nhằm giải pháp xử lý những lỗi với lời khuyên ổn là phần đông thao tác làm sao liên quan cho PDO thì tốt nhất có thể bọn họ nên đặt trong try/catch, tương tự đoạn kết nối DB phía bên trên của bản thân. lúc thực hiện Exception buộc phải xem xét phần đông điều sau:Có 3 chế độ:- PDO::ERRMODE_SILENT: Lúc chạm chán lỗi thì nó đang làm lơ cùng tiếp tục chạy. Cái này nhân tiện mang đến production.- PDO::ERRMODE_WARNING: Khi gặp mặt lỗi nó vẫn xuất ra thông tin và thường xuyên chạy. Cái này tiện đến vấn đề debug.- PDO::ERRMODE_EXCEPTION: khi gặp lỗi nó sẽ chỉ dẫn Exception với mang đến họ giải pháp xử lý. Chúng ta sẽ áp dụng cái này.Và đoạn liên kết Database hoàn hảo vẫn nlỗi sau:
try$host= "localhost";$dbname= "pdo";$user= "root";$pass= "root"; // Kết nối cùng 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 với Update- Đây là 2 thao tác rất thân thuộc Khi thao tác cùng với DB. Nhưng áp dụng PDO bọn họ phải tuân hành theo nguyên lý sau đây:
*
- Chỉ bao gồm 3 bước dễ dàng vậy thôi. Việc tuân hành theo quá trình này để giúp chúng ta tránh được các lỗi liên quan mang đến SQL-Injection, đây là một lỗi cũng tương đối phổ biến ah nha.- Có 2 cách để prepare một câu query:
// Tmê man 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 từng biện pháp bọn họ sẽ sở hữu cách bind tđắm đuối số không giống nhau Tmê say số không đị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: Mtp Là Gì ? Một Số Tên Gọi Khác Của Sơn Tùng M Chữ M Trong M

Selecting Data
*
- Cũng nhỏng bí quyết thông thường, tài liệu Lúc được đem lên đề xuất được fetch vào một array, object hoặc class thì bọn họ new có thể áp dụng được. PDO cũng cung ứng đến chúng ta một số cơ chế fetch cơ phiên bản như sau: PDO::FETCH_BOTH (default): Trả về một mảng bao gồm cả lắp thêm 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,email FROM user");$statement->execute();$statement->setFetchMode(PDO::FETCH_BOTH);while($row = $statement->fetch())emang đến $row<"username">;emang đến $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">;emang lại $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 dữ liệu trả vềstdClass Object( => kevin => contact
- Trên đó là toàn bộ công việc cơ bản tốt nhất để thao tác làm việc với PDO, hi vọng bài viết bài xích có lợi mang đến các các bạn new tiếp cận với đặc điểm này ^^

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *