Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để tôi có thể sử dụng các câu lệnh soạn sẵn trong CodeIgniter

CodeIgniter không hỗ trợ Báo cáo đã soạn sẵn. Nếu bạn nhìn vào mã nguồn cho lớp Cơ sở dữ liệu của CI, bạn sẽ thấy rằng chúng giải quyết các ràng buộc đơn giản bằng cách thay thế các dấu hỏi bằng dữ liệu từ mảng đã truyền:

Họ chỉ hỗ trợ Ràng buộc truy vấn với các trình giữ chỗ không tên. Xem http://ellislab.com/codeigniter/user-guide/database/ queries.html

Ràng buộc truy vấn

Các ràng buộc cho phép bạn đơn giản hóa cú pháp truy vấn của mình bằng cách cho phép hệ thống tập hợp các truy vấn lại với nhau cho bạn. Hãy xem xét ví dụ sau:

$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
$this->db->query($sql, array(3, 'live', 'Rick'));

Các dấu chấm hỏi trong truy vấn được tự động thay thế bằng các giá trị trong mảng trong tham số thứ hai của hàm truy vấn.

http://ellislab.com/forums/viewthread/105112/#528915

Mặc dù CI không hỗ trợ các báo cáo đã soạn sẵn, nhưng nó hỗ trợ Ràng buộc truy vấn. Với các câu lệnh chuẩn bị sẵn, bạn phải gọi một số loại hàm chuẩn bị () và sau đó gọi một số loại hàm thi hành (). Với các ràng buộc truy vấn, bạn chỉ phải gọi một hàm và về cơ bản nó thực hiện điều tương tự. Bởi vì điều này, tôi thích các ràng buộc truy vấn hơn là các câu lệnh đã chuẩn bị.

Trên ghi chú bên lề, đang thay đổi ? thành :foo chỉ đơn thuần là thay đổi từ không đặt tên thành ràng buộc có tên (mà CI dường như cũng không hỗ trợ). Chỉ vì bạn sử dụng một trong hai hoặc không có nghĩa là bạn đang chuẩn bị các câu lệnh.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 cách chuyển đổi một số sang hệ bát phân trong MySQL

  2. Cách thay đổi kích thước cột trong MySQL

  3. Cách tải cấu hình JDBC từ tệp thuộc tính Ví dụ

  4. MySQL - length () so với char_length ()

  5. Triển khai máy chủ Percona cho một đám mây kết hợp