2012-04-02 31 views
6

Tôi đang xây dựng ứng dụng cần có trình tạo truy vấn MySQL kiểu OOP. Tôi muốn để có thể linh hoạt xây dựng các truy vấn phức tạp bằng cách sử dụng chỉ PHP và để có được chuỗi truy vấn kết quả để thực hiện với trình điều khiển cơ sở dữ liệu của riêng tôi.Trình tạo truy vấn MySQL Lớp PHP

Có ai biết về trình tạo truy vấn độc lập tốt cho PHP không? Xin lưu ý rằng tôi không cần trình điều khiển cơ sở dữ liệu Tôi cần lớp trình xây dựng truy vấn MySQL trần (tốt hơn là viết bằng hàm phong cách lạc đà và các tên biến).

Trả lời

5

Cuối cùng tôi đã Doctrine ORM

và sửa đổi nó một chút để xây dựng SQL thay vì DQL.

Công trình này rất đẹp và có thể xây dựng các truy vấn phức tạp.

Chỉnh sửa: Bạn có thể tìm thấy triển khai ổn định cuối cùng của mình trong khuôn khổ Stingle. Nhìn vào plugin Db/QueryBuilder.

+0

bạn có thể cập nhật liên kết không? – TheCrazyProfessor

+0

Đã cập nhật liên kết, vui lòng xem –

0

Có một phiên bản trình tạo truy vấn ở đó (được cấp phép LGPL). Tôi đã không sử dụng nó, nhưng bạn có thể muốn có một cái nhìn vào nó, nếu nó phù hợp với mục đích của bạn: http://code.google.com/p/mysql-query-builder/

+0

Điều này rất tốt, nhưng nó thiếu khả năng để làm cho trái, bên trong, bên ngoài tham gia. –

+3

Làm thế nào nó có thể là 'rất tốt' nhưng không hỗ trợ tham gia? Đó là khá nhiều cơ bản. Nó cũng bị ảnh hưởng trong hơn 3 năm, có thể có sự hỗ trợ không chắc chắn trên các phiên bản PHP mới hơn. – Cylindric

1

Thư viện PhpToolCase có công cụ trình tạo truy vấn độc lập khá dễ sử dụng và tiện dụng.

Có đầy đủ tham gia hỗ trợ là tốt: http://phptoolcase.com/guides/ptc-qb-guide.html

Và ya, có vẻ như được viết với chức năng phong cách lạc đà và tên biến :)

2

DSQL - Query Builder cho PHP là chính xác những gì bạn đang tìm kiếm cho, không phụ thuộc và có giấy phép MIT:

$query = new atk4\dsql\Query(); 
$query ->table('employees') 
    ->where('birth_date','1961-05-02') 
    ->field('count(*)') 
    ; 
echo "Employees born on May 2, 1961: ".$query->getOne(); 

https://github.com/atk4/dsql

Tài liệu: http://dsql.readthedocs.io/

Các vấn đề liên quan