SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
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ượng
FETCH_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
                   field
FETCH_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ục
FETCH_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ố)
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ữa

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ụ 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ấn

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ụ 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));
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ấn

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ụ 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ất

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ụ 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ất

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ụ 8.1:
$sql = "SELECT *
        FROM members
        WHERE group_id = ?
        AND member_status = ?";
$db-> fetchOne($sql,array('g002',1))
9. insert($table, $bind)

-   Phương thức insert là phương thức để đưa dữ liệu vào CSDL

Tham số:
$table: tên bảng
$bind: Mảng giá trị đưa vào CSDL

Ví 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ảng

Ví 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 CSDL

Tham số:
$table: tên bảng
$data: Mảng giá trị đưa vào CSDL
$where: điều kiện để cập nhật

Ví dụ 11.1: Thêm một dòng dữ liệu vào bảng groups
$where = " group_id = 'g004'";
$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("O'Reilly",STRING);
// SELECT * FROM members WHERE member_name = 'O'Reilly'
$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);

Contenu connexe

Tendances

5.cach su dung data reader
5.cach su dung data reader5.cach su dung data reader
5.cach su dung data readerDao Uit
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...MasterCode.vn
 
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10KhanhPham
 
Android Nâng cao-Bài 8-JSON & XML Parsing
Android Nâng cao-Bài 8-JSON & XML ParsingAndroid Nâng cao-Bài 8-JSON & XML Parsing
Android Nâng cao-Bài 8-JSON & XML ParsingPhuoc Nguyen
 
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8 Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8 KhanhPham
 
Lap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaLap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaANHMATTROI
 
6.adapterset
6.adapterset6.adapterset
6.adaptersetDao Uit
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTMasterCode.vn
 
Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaANHMATTROI
 
Các bước kết nối csdl my sql với java
Các bước kết nối csdl my sql với javaCác bước kết nối csdl my sql với java
Các bước kết nối csdl my sql với javaBrand Xanh
 
Bài 2: Biến và toán tử - Giáo trình FPT
Bài 2: Biến và toán tử - Giáo trình FPTBài 2: Biến và toán tử - Giáo trình FPT
Bài 2: Biến và toán tử - Giáo trình FPTMasterCode.vn
 
Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7
Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7
Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7KhanhPham
 
php_nangcao [compatibility mode]
php_nangcao [compatibility mode]php_nangcao [compatibility mode]
php_nangcao [compatibility mode]vokhuyet187
 
04 chuong 4 - sap xep, tim kiem, loc du lieu
04   chuong 4 - sap xep, tim kiem, loc du lieu04   chuong 4 - sap xep, tim kiem, loc du lieu
04 chuong 4 - sap xep, tim kiem, loc du lieutruong le hung
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieutruong le hung
 
Chuyên đề ngôn ngữ lập trình auto it
Chuyên đề ngôn ngữ lập trình auto itChuyên đề ngôn ngữ lập trình auto it
Chuyên đề ngôn ngữ lập trình auto itbamboosky4991
 

Tendances (20)

Cach su dung data reader
Cach su dung data readerCach su dung data reader
Cach su dung data reader
 
Chuong 3 mang
Chuong 3 mangChuong 3 mang
Chuong 3 mang
 
5.cach su dung data reader
5.cach su dung data reader5.cach su dung data reader
5.cach su dung data reader
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
 
Android Nâng cao-Bài 8-JSON & XML Parsing
Android Nâng cao-Bài 8-JSON & XML ParsingAndroid Nâng cao-Bài 8-JSON & XML Parsing
Android Nâng cao-Bài 8-JSON & XML Parsing
 
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8 Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8
 
Lap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaLap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi Java
 
Laptrinh jdbc
Laptrinh jdbcLaptrinh jdbc
Laptrinh jdbc
 
6.adapterset
6.adapterset6.adapterset
6.adapterset
 
Bài 6: Working with DATA
Bài 6: Working with DATABài 6: Working with DATA
Bài 6: Working with DATA
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
 
Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong java
 
Các bước kết nối csdl my sql với java
Các bước kết nối csdl my sql với javaCác bước kết nối csdl my sql với java
Các bước kết nối csdl my sql với java
 
Bài 2: Biến và toán tử - Giáo trình FPT
Bài 2: Biến và toán tử - Giáo trình FPTBài 2: Biến và toán tử - Giáo trình FPT
Bài 2: Biến và toán tử - Giáo trình FPT
 
Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7
Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7
Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7
 
php_nangcao [compatibility mode]
php_nangcao [compatibility mode]php_nangcao [compatibility mode]
php_nangcao [compatibility mode]
 
04 chuong 4 - sap xep, tim kiem, loc du lieu
04   chuong 4 - sap xep, tim kiem, loc du lieu04   chuong 4 - sap xep, tim kiem, loc du lieu
04 chuong 4 - sap xep, tim kiem, loc du lieu
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieu
 
Chuyên đề ngôn ngữ lập trình auto it
Chuyên đề ngôn ngữ lập trình auto itChuyên đề ngôn ngữ lập trình auto it
Chuyên đề ngôn ngữ lập trình auto it
 

En vedette

CASBAA 1030408 @ Taipei
CASBAA 1030408 @ TaipeiCASBAA 1030408 @ Taipei
CASBAA 1030408 @ TaipeiJessica Chou
 
Bollywood purple sarees online collection with maching clutch pursh
Bollywood purple sarees online collection with maching clutch purshBollywood purple sarees online collection with maching clutch pursh
Bollywood purple sarees online collection with maching clutch purshChrisPerez
 
0212 박근혜정부 1년 우리는어디로 민변
0212 박근혜정부 1년 우리는어디로  민변0212 박근혜정부 1년 우리는어디로  민변
0212 박근혜정부 1년 우리는어디로 민변karyui
 
The How-to: Water & HIV Integrated Responses PP 2
The How-to: Water & HIV Integrated Responses PP 2The How-to: Water & HIV Integrated Responses PP 2
The How-to: Water & HIV Integrated Responses PP 2Rouzeh Eghtessadi
 

En vedette (9)

Kids to College WSJ Article
Kids to College WSJ ArticleKids to College WSJ Article
Kids to College WSJ Article
 
Ensayo
EnsayoEnsayo
Ensayo
 
Imenco Offshore Helicopter refuelling system presentation
Imenco Offshore Helicopter refuelling system presentationImenco Offshore Helicopter refuelling system presentation
Imenco Offshore Helicopter refuelling system presentation
 
CASBAA 1030408 @ Taipei
CASBAA 1030408 @ TaipeiCASBAA 1030408 @ Taipei
CASBAA 1030408 @ Taipei
 
Flood insurance gets harder to find wsj.com
Flood insurance gets harder to find   wsj.comFlood insurance gets harder to find   wsj.com
Flood insurance gets harder to find wsj.com
 
Pavimentacion
PavimentacionPavimentacion
Pavimentacion
 
Bollywood purple sarees online collection with maching clutch pursh
Bollywood purple sarees online collection with maching clutch purshBollywood purple sarees online collection with maching clutch pursh
Bollywood purple sarees online collection with maching clutch pursh
 
0212 박근혜정부 1년 우리는어디로 민변
0212 박근혜정부 1년 우리는어디로  민변0212 박근혜정부 1년 우리는어디로  민변
0212 박근혜정부 1년 우리는어디로 민변
 
The How-to: Water & HIV Integrated Responses PP 2
The How-to: Water & HIV Integrated Responses PP 2The How-to: Water & HIV Integrated Responses PP 2
The How-to: Water & HIV Integrated Responses PP 2
 

Similaire à Zend db

E learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPE learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPelearninglabvn
 
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webBài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
 
Hướng dẫn lập trình CMS Joomla 2.5
Hướng dẫn lập trình CMS Joomla 2.5 Hướng dẫn lập trình CMS Joomla 2.5
Hướng dẫn lập trình CMS Joomla 2.5 ZendVN
 
Chuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.netChuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.netThuyNguyenThi25
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)MasterCode.vn
 
Chương 5: PHP&MYSQL
Chương 5: PHP&MYSQLChương 5: PHP&MYSQL
Chương 5: PHP&MYSQLHồ Lợi
 
Hdth07 ltudql02-linq-ep1
Hdth07 ltudql02-linq-ep1Hdth07 ltudql02-linq-ep1
Hdth07 ltudql02-linq-ep1Dũng Đinh
 
PHP Security SQL injection
PHP Security SQL injectionPHP Security SQL injection
PHP Security SQL injectionLoc Nguyen
 

Similaire à Zend db (17)

E learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPE learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHP
 
Web301 slide 2
Web301   slide 2Web301   slide 2
Web301 slide 2
 
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webBài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
 
Hướng dẫn lập trình CMS Joomla 2.5
Hướng dẫn lập trình CMS Joomla 2.5 Hướng dẫn lập trình CMS Joomla 2.5
Hướng dẫn lập trình CMS Joomla 2.5
 
Chuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.netChuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.net
 
Ung dung web chuong 6
Ung dung web  chuong 6Ung dung web  chuong 6
Ung dung web chuong 6
 
Com201 slide 4
Com201   slide 4Com201   slide 4
Com201 slide 4
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
 
Php02 ngon nguphp
Php02 ngon nguphpPhp02 ngon nguphp
Php02 ngon nguphp
 
Chương 5: PHP&MYSQL
Chương 5: PHP&MYSQLChương 5: PHP&MYSQL
Chương 5: PHP&MYSQL
 
Hdth07 ltudql02-linq-ep1
Hdth07 ltudql02-linq-ep1Hdth07 ltudql02-linq-ep1
Hdth07 ltudql02-linq-ep1
 
PHP Security SQL injection
PHP Security SQL injectionPHP Security SQL injection
PHP Security SQL injection
 
Aspnet 3.5 _02
Aspnet 3.5 _02Aspnet 3.5 _02
Aspnet 3.5 _02
 
Ung dung web chuong 7
Ung dung web  chuong 7Ung dung web  chuong 7
Ung dung web chuong 7
 
Giới thiệu Yii Framework 1
Giới thiệu Yii Framework 1Giới thiệu Yii Framework 1
Giới thiệu Yii Framework 1
 
C5. Model, DataSharing.pdf
C5. Model, DataSharing.pdfC5. Model, DataSharing.pdf
C5. Model, DataSharing.pdf
 
PHP Regular expressions
PHP Regular expressionsPHP Regular expressions
PHP Regular expressions
 

Zend db

  • 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ượng FETCH_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 field FETCH_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ục FETCH_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ữa 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ụ 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ấn 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ụ 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ấn 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ụ 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ất 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ụ 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ất 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ụ 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 CSDL Tham số: $table: tên bảng $bind: Mảng giá trị đưa vào CSDL Ví 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ảng Ví 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 CSDL Tham số: $table: tên bảng $data: Mảng giá trị đưa vào CSDL $where: điều kiện để cập nhật Ví 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("O'Reilly",STRING); // SELECT * FROM members WHERE member_name = 'O'Reilly' $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);