Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
905
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
20
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 1. Khởi tạo Zend_Db $db = Zend_Db::factory(Pdo_Mysql, array (host => localhost, username => root, password => , dbname => company_2)); 2. setFetchMode ($constant)FETCH_OBJ Trả kết quả truy vấn thành các đối tượngFETCH_ASSOC Trả kết quả truy vấn thành những mảng liên tục, giữ nguyên tên của fieldFETCH_NUM Trả kết quả truy vấn thành mảng, tên field sẽ được chuyển thành số liên tụcFETCH_BOTH Trả kết quả truy vấn thành mảng, mảng bao gồm kết quả của 2 kiểu FETCH_ASSOC và FETCH_NUM Ví dụ 2.1: Chuyển kết quả truy vấn thành một mảng chứa các tên field $db = Zend_Db::factory(Pdo_Mysql, array (host => localhost, username => root, password => , dbname => company_2)); $db->setFetchMode(Zend_Db::FETCH_OBJ); 3. fetchAll($sql,$bind) - Phương thức fetchAll là phương thức để lấy dữ liệu trong CSDL. Nó tương tự như câu lệnh Select của MySQL Tham số: $sql: Câu lệnh truy vấn $bind: Mảng giá trị truyền vào khi truy vấn Ví dụ 3.1: Liệt kê những thành viên có group_id = g002 và có member_status = 1 MySQL query $sql = "SELECT member_id, member_name, user_name FROM members WHERE group_id = g002 AND member_status = 1"; mysql_query($sql); Zend_Db $sql = "SELECT member_id, member_name, user_name FROM members WHERE group_id = g002 AND member_status = 1"; $db->fetchAll($sql); Ví dụ 3.2: Liệt kê những thành viên có group_id = g002 và có member_status = 1 (truyền tham số)
  • 2. MySQL query$group_id = g002;$member_status = 1;$sql = "SELECT member_id, member_name, user_name FROM members WHERE group_id = " . $group_id . " AND member_status = " . $member_status;mysql_query($sql);Zend_Db$sql = "SELECT member_id, member_name, user_name FROM members WHERE group_id = ? AND member_status = ?";$db->fetchAll($sql,array(g002,1));4. fetchAssoc ($sql,$bind)- Phương thức fetchAssoc tương tự như fetchAll là phương thức để lấy dữ liệu trong CSDL nhưng nó sẽ trả về một mảng dữ liệu cho dù setFetchMode() ở chế độ nào đi nữaTham số:$sql: Câu lệnh truy vấn$bind: Mảng giá trị truyền vào khi truy vấnVí dụ 4.1: Liệt kê những thành viên có group_id = g002 và có member_status = 1(truyền tham số)$db->setFetchMode(Zend_Db::FETCH_OBJ);$sql = "SELECT member_id, member_name, user_name FROM members WHERE group_id = ? AND member_status = ?";$db->fetchAssoc($sql,array(g002,1));5. fetchCol ($sql,$bind)- Phương thức fetchCol là phương thức để lấy dữ liệu trong CSDL nhưng nó chỉ trả về giá trị của field đầu tiên trong kết quả truy vấnTham số:$sql: Câu lệnh truy vấn$bind: Mảng giá trị truyền vào khi truy vấnVí dụ 5.1: Liệt kê mã thành viên có group_id = g002 và có member_status = 1(truyền tham số)$sql = "SELECT * FROM members WHERE group_id = ? AND member_status = ?";$db-> fetchCol($sql,array(g002,1));
  • 3. 6. fetchPairs($sql,$bind)- Phương thức fetchPairs giống phương thức fetchCol để lấy dữ liệu trong CSDL nhưng nó chỉ trả về giá trị của field thứ 2 trong kết quả truy vấnTham số:$sql: Câu lệnh truy vấn$bind: Mảng giá trị truyền vào khi truy vấnVí dụ 6.1: Liệt kê mã thành viên có group_id = g002 và có member_status = 1(truyền tham số)$sql = "SELECT * FROM members WHERE group_id = ? AND member_status = ?";$db-> fetchPairs($sql,array(g002,1));7. fetchRow($sql,$bind)- Phương thức fetchRow là phương thức để lấy dữ liệu trong CSDL nhưng nó chỉ trả về một dòng dữ liệu duy nhấtTham số:$sql: Câu lệnh truy vấn$bind: Mảng giá trị truyền vào khi truy vấnVí dụ 7.1: Liệt kê mã thành viên có group_id = g002 và có member_status = 1(truyền tham số)$sql = "SELECT * FROM members WHERE group_id = ? AND member_status = ?";$db-> fetchRow($sql,array(g002,1));8. fetchOne ($sql,$bind)- Phương thức fetchOne là phương thức để lấy dữ liệu trong CSDL nhưng nó chỉ trả về một giá trị duy nhấtTham số:$sql: Câu lệnh truy vấn$bind: Mảng giá trị truyền vào khi truy vấnVí dụ 8.1:$sql = "SELECT * FROM members WHERE group_id = ? AND member_status = ?";$db-> fetchOne($sql,array(g002,1))
  • 4. 9. insert($table, $bind)- Phương thức insert là phương thức để đưa dữ liệu vào CSDLTham số:$table: tên bảng$bind: Mảng giá trị đưa vào CSDLVí dụ 9.1: Thêm một dòng dữ liệu vào bảng groups$data = array( group_id => g004, group_name => Nghien cuu, group_status => 1 );$db->insert(members, $data);10. lastInsertId ($table, $primaryKey)- Phương thức lastInsertId là phương thức lấy ID của một record vừa được thêm vào bằng phương thức insert()Tham số:$table: tên bảng$primaryKey: Khóa chính của bảngVí dụ 10.1: Thêm một dòng dữ liệu vào bảng members$data = array( member_name => Pham Vu Khanh, user_name => KhanhPham, email => vukhanh2212@gmail.com, password => md5(123456), register_date => date(Y-m-d 00:00:00), member_status => 1, group_id => g001 );$db->insert(members, $data);echo <br> . $id = $db->lastInsertId();11. update($table, $data,$where)- Phương thức update là phương thức để cập nhật dữ liệu vào CSDLTham số:$table: tên bảng$data: Mảng giá trị đưa vào CSDL$where: điều kiện để cập nhậtVí dụ 11.1: Thêm một dòng dữ liệu vào bảng groups$where = " group_id = g004";
  • 5. $data = array( group_name => Research, group_status => 1 );$db->update(groups, $data, $where);12. quote($value, $type = null)- Phương thức quote() là phương thức sử để sửa các dấu nháy đơn (‘) thành ( ’) trước khi đưa vào câu truy vấn Select. Hoặc ép kiểu thành dạng số INT hoặc Float. Đây là một phương thức hỗ trợ để trách các lỗ Sql injection nguy hiểm.Tham số:$value: tên bảng$type: Kiểu giá trị của $value (INTEGER – STRING – FLOAT)Ví dụ 12.1: Tìm thành viên có tên “O’Reilly” trong bảng member$memberName = $db->quote("OReilly",STRING);// SELECT * FROM members WHERE member_name = OReilly$sql = SELECT * FROM members WHERE member_name = . $memberName;$result = $db->fetchRow($sql);Ví dụ 12.2: Tìm thành viên có member_id “3’ ” trong bảng member$memberID = $db->quote("3 ",INTEGER);//SELECT * FROM members WHERE member_id = 3$sql = SELECT * FROM members WHERE member_id = . $memberID;$result = $db->fetchRow($sql);