PDO là gì?
PDO là 1 đối tượng giúp ta truy xuất database với 12 loại hệ csdl khác nhau:
MySQL,
SQLite,
PostgreSQL,
Microsoft SQL Server...
1=CHUỖI PDO
1. định danh kiểu csdl, và tên csdl : mysql:host=localhost; dbname=bookstore_vn
2. username: mặc định là root
3.password: mặc định null
2=KHỞI TẠO BIẾN
+khởi tạo 1 PDO ta dùng biến $obj (object)
+khởi tạo 1 lệnh dùng biến $sql (command)
+khởi tạo 1 truy vấn dùng biến $stm (viết tắt statement)
+dữ liệu trả về save vào biến $data.
3=CÁC HÀM (PHƯƠNG THỨC) TRUY VẤN
-query(): thực hiện truy vấn
-rowcount(): dưa về số dòng trả về. thêm, xóa, sửa
-fetchAll(): trả về kiểu dữ liệu mảng hoặc object...(PDO::FETCH_ASSOC hoặc PDO::FETCH_OBJ)
4=DÙNG VÒNG LẶP FOREACH
-dùng vòng lặp foreach để trích xuất dữ liệu từ biến $data trả về.
foreach ($data as $key => $value) {
echo $value['masach'];
}
-ta có thể kết hợp với các lệnh sau để định dạng khi xuất dữ liệu:
echo "<pre>";
var_dump($data);
5=CÁC VÍ DỤ:
truy vấn navicat: select * from sach where tensach like '%php%';
+Truy vấn thông thường
obj = new PDO("mysql:host=localhost; dbname=bookstorevn" , 'root' ,'' );
$obj->query('set names utf8');
$tensach="php";
$sql="select * from sach where tensach like '%$tensach%' ";
$stm = $obj->query($sql);
$n = $stm->rowCount();
-Khi data trả về thuộc kiểu Object
$data = $stm->fetchAll(PDO::FETCH_OBJ);
foreach ($data as $key => $value) {
echo $value->masach.' - ' .$value->tensach .'<br>';
}
-Khi data trả về thược kiểu mảng array
$data = $stm->fetchAll(PDO::FETCH_ASSOC);
foreach ($data as $key => $value) {
echo $value['masach'].' - ' .$value['tensach'].'<br>';
}
th02-Lập trình web bằng PHP 5.3 và cơ sở dữ liệu
th03-Lập trình web bằng PHP 5.3 và cơ sở dữ liệu MySQL 5.1 (Tập1)
so dong tra ve 2
+Truy vấn theo cơ chế tránh SQL_injection (tấn công SQL) bằng cách prepare câu lệnh sql sao cho tốt nhất.
-----thực thi truy vấn dùng placeholder(giữ chỗ các tham số truyền vào) khi prepare, sẽ bỏ qua các kí tự đặc biệt, đồng thời thay thế phương thức query() bằng 2 phương thức prepair() và execute().
<?php
$obj = new PDO("mysql:host=localhost; dbname=bookstorevn" , 'root' ,'' );
$obj->query('set names utf8');
$tensach="php";
$sql2="select * from sach where tensach like ? ";//tao chuoi truy van
$stm = $obj->prepare($sql2);
$arr=["%$tensach%"];
$stm->execute($arr);
$n = $stm->rowCount();//so dong tra ve, so dong duoc them, so dong duoc xoa, so dong duoc sua
$data = $stm->fetchAll(PDO::FETCH_OBJ);
foreach ($data as $key => $value) {
echo $value->masach.' - ' .$value->tensach .'<br>';
}
?>
-----------------KẾT QUẢ TRUY VẤN
th02 - Lập trình web bằng PHP 5.3 và cơ sở dữ liệu
th03 - Lập trình web bằng PHP 5.3 và cơ sở dữ liệu MySQL 5.1 (Tập1)
th03 - Lập trình web bằng PHP 5.3 và cơ sở dữ liệu MySQL 5.1 (Tập1)
+Thực hiện lệnh insert 1 mã loại
<?php
$obj = new PDO("mysql:host=localhost; dbname=bookstorevn" , 'root' ,'' );
$obj->query('set names utf8');
$maloai ='abc';
$tenloai='Loai ABC';
$sql="insert into loai(maloai, tenloai) values(?, ?) ";
$a=[$maloai, $tenloai];
$stm= $obj->prepare($sql);
$stm->execute($a);
$n = $stm->rowCount();
echo "<hr> Da them $n loai ";
?>
$obj = new PDO("mysql:host=localhost; dbname=bookstorevn" , 'root' ,'' );
$obj->query('set names utf8');
$maloai ='abc';
$tenloai='Loai ABC';
$sql="insert into loai(maloai, tenloai) values(?, ?) ";
$a=[$maloai, $tenloai];
$stm= $obj->prepare($sql);
$stm->execute($a);
$n = $stm->rowCount();
echo "<hr> Da them $n loai ";
?>
<?php
$obj = new PDO("mysql:host=localhost; dbname=bookstorevn" , 'root' ,'' );
$obj->query('set names utf8');
$sql="select * from sach ";
$stm= $obj->prepare($sql);
$stm->execute(); //$stm->execute($a);$a=[];
$n = $stm->rowCount();
$data = $stm->fetchAll(PDO::FETCH_ASSOC);
foreach ($data as $key => $value) {
echo $value['masach'].' - ' .$value['tensach'] .'<br>';
}
echo "so dong tra ve $n";
?>
------------------------------------KẾT QUẢ
td01 - Từ Điển mẫu câu tiếng Nhật
td02 - Từ Điển Kinh Doanh Và Tiếp Thị Hiện Đại
td03 - Đại Từ Điển Tiếng Việt (Bản mới 2010)
td04 - từ điển y học sức khỏe bệnh lý Anh Anh Việt
td05 - Từ Điển Anh Việt - 75000 Từ
td06 - Từ điển địa danh hành chính Nam Bộ
th01 - 100 thủ thuật với Excel 2010
.
.
...
th16 - Tuyển Tập Thủ Thuật Javascript - Tập 1
th17 - Thiết Kế Web Với CSS
th18 - Thiết Kế Web Với JavaScript Và Dom
th88 - sach giao khoa lop 10
so dong tra ve 25
No comments:
Post a Comment