Để Kết Nối Csdl Trong Html, Web Sql Database Trong Html5

Sử dụng mysql extension (vẫn kết thúc cải tiến và phát triển và ko được khuim dùng) Sử dụng mysqli extension (cung cấp từ bỏ PHP 5 trsinh sống lên, là phiên phiên bản đổi mới của mysql extension) Sử dụng PDO (PHPhường Data Object)

 PDO là gì?

PDO (PHPhường Data Object) là một trong database abstraction layer, rất có thể thực hiện những extension khác nhau nhằm giao tiếp cùng với những DataBase khác nhau (Oracle, DB2, Microsoft SQL VPS, Postgress SQL..) .PDO hoàn toàn có thể được sử dụng để lập trình sẵn theo cả phía giấy tờ thủ tục với theo phía đối tượng người dùng.

Bạn đang xem: Để kết nối csdl trong html, web sql database trong html5

cach-su-dung-pdo-trong-php

Ứng cùng với từng cơ sở dữ liệu khác nhau PDO vẫn áp dụng các loại driver khác biệt để thao tác cùng với cơ sở dữ liệu. Các lệnh SQL được truyền vào PDO sẽ tiến hành những driver này gửi quý phái câu lệnh SQL tương ứng cùng với cơ sở dữ liệu đang được sử dụng. Chính do vậy Khi áp dụng PDO chúng ta có thể thuận tiện gửi sang 1 hệ quản trị cơ sở dữ liệu không giống cơ mà không nhất thiết phải viết lại mã.

Kết nối mang lại DataBase vào PDO


$dsn = "mysql:host=localhost;dbname=ten_csdl";// Set options$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);// Create a new PDO instanacetry $db = new PDO($dsn, "user_dang_nhap_csdl", "password_csdl", $options);// Catch any errorscatch (PDOException $e) emang lại $e->getMessage();exit();
 Để có thể hiển thị giờ việt Lúc làm việc cùng với CSDL MySquốc lộ bọn họ buộc phải chạy lệnh "SET NAMES utf8" lúc liên kết mang lại cơ sở dữ liệu MySQL. Giá trị PDO::ERRMODE_EXCEPTION vào trực thuộc tính PDO::ATTR_ERRMODE để giúp đỡ PDO ném ra nước ngoài lệ khi gặp lỗi bên cạnh đó tạo nên PHPhường warning. Tuy nhiên chúng ta có thể sử dụng try catch nhằm bắt lỗi nhằm mục đích che giấu các thông tin lỗi.

Xem thêm: Hno3 Là Gì - Tìm Hiểu Về Axit Nitric

khi thao tác với cơ sở dữ liệu trong PHP, đối với những lệnh Squốc lộ có tsay đắm số cồn bọn họ tránh việc truyền câu lệnh Squốc lộ thẳng trải qua chuỗi ráng vì chưng vậy chúng ta cần thực hiện Prepared Statement để tách bị tiến công Squốc lộ Injection.

Ckém tài liệu vào cơ sở dữ liệu trải qua PDO


//Khởi chế tạo ra Prepared Statement$stmt = $db->prepare("INSERT INTO users (name, tin nhắn, age) values (:name, :mail, :age)");$stmt->bindParam(":name", "Nguyen Van A");$stmt->bindParam(":mail", "email_address");$stmt->bindParam("age", 22);$stmt->execute();/*****************Cách viết khác *********************/$stmt = $db->prepare("INSERT INTO users (name, gmail, age)values (:name, :mail, :age)");$data = array("name"=>"Nguyen Van A", "mail"=>"email_address", "age"=> 22);$stmt->execute($data);
Thứ nhất chúng ta sẽ tạo nên một Prepared Statement trải qua hàm prepare(). Tại đây họ ko truyền cực hiếm trực tiếp mang lại name, mail với age. Tgiỏi vào đó họ vẫn sử dụng những place holder để giữ vị trí mang đến giá trị của các đổi thay bên trên. Tiếp theo họ thực hiện đính quý hiếm cho các place holder vào câu lệnh Prepared Statement thông qua hàm bindParam($tên_place_holder, $giá_trị_của_place_holder). Cuối thuộc bọn họ triển khai prepared statement thông qua lệnh execute().

Truy vấn DataBase với PDO:

Khi hiểu tài liệu từ database, PDO sẽ trả về dữ liệu theo cấu trúc mảng (array) hoặc đối tượng (object) thông qua các thủ tục sau:

fetchAll(): trả về một mảng chứa tất cả các mặt hàng trong tập kết quả trả về (result set). Một số quý giá thịnh hành của fetch_mode: PDO::FETCH_BOTH (default): trả về dữ liệu dạng mảng cùng với key là tên của cột và cả số máy từ của cột. PDO::FETCH_ASSOC: trả về dữ liệu dạng mảng cùng với key là tên gọi cột của bảng trong cơ sở dữ liệu. PDO::FETCH_NUM: trả về dữ liệu dạng mảng với key là số máy tự của cột. PDO::FETCH_OBJ: trả về một đối tượng người tiêu dùng của stdClass cùng với thương hiệu ở trong tính vào đối tượng người sử dụng là tên của cột. PDO::FETCH_CLASS: Gán cực hiếm của từng cột mang lại từng trực thuộc tính (property/attribute) của một lớp được chỉ định trước. fetch(): trả về hàng kế tiếp từ result set. fetchColumn( ): trả về 1 giá trị của cột được chỉ định vào hàng tiếp nối của result mix.

lấy một ví dụ truy hỏi vấn dữ liệu cùng với PDO


$stmt = $db->prepare("SELECT name, gmail, age from users");//Thiết lập kiểu dáng tài liệu trả về$stmt->setFetchMode(PDO::FETCH_ASSOC);$stmt->execute();$resultSet = $stmt->fetchAll();/*Trong ngôi trường hợp chưa setFetchMode() chúng ta cũng có thể sử dụng$resultSet = $stmt->fetchAll(PDO::FETCH_ASSOC);*/foreach ($resultSet as $row) emang đến $row<"name"> . " ";eđến $row<"email"> . " ";echo $row<"age"> . " ";
Do dữ liệu rước về trải qua FETCH_ASSOC là dữ liệu dưới dạng mảng 2D cần bọn họ vẫn áp dụng vòng lặp for nhằm phê chuẩn qua từng mặt hàng cùng lấy ra cực hiếm của từng phần tử thông qua thương hiệu của cột phía bên trong DataBase.