Tôi đang làm việc trên một trang web PHP nhỏ. Tôi cần một lớp truy cập cơ sở dữ liệu MySql dễ cấu hình và làm việc với nó.Lớp cơ sở dữ liệu PHP hữu ích
Không cần phải là một khung làm việc đầy đủ, tôi chỉ cần tối đa. vài lớp.
Tôi đang làm việc trên một trang web PHP nhỏ. Tôi cần một lớp truy cập cơ sở dữ liệu MySql dễ cấu hình và làm việc với nó.Lớp cơ sở dữ liệu PHP hữu ích
Không cần phải là một khung làm việc đầy đủ, tôi chỉ cần tối đa. vài lớp.
ADODb khá dễ làm việc và đáng xem xét. Một số mẫu minh họa:
//connect
$dsn = 'mysql://user:[email protected]/mydb';
$db = ADONewConnection($dsn);
//get a single value
$value=$db->GetOne("select foo from bar where x=?", array($x));
//get a row
$row=$db->GetRow("select * from bar where x=?", array($x));
//easy insert example
$record=array("id"=>1, "foo"=>"bar");
$db->AutoExecute("table", $record, "INSERT");
Tôi đã tìm thấy ADODb là cách dễ nhất để thiết lập. – Germstorm
Xin chào ông Dixon, Nhưng thư viện này cần một số tài liệu hay. Bạn có biết về bất kỳ tài nguyên web nào mà tôi có thể tìm thấy một số trợ giúp với nó không. Tôi đã cố gắng tạo một lớp cho các nhiệm vụ liên quan đến cơ sở dữ liệu bằng cách sử dụng thư viện này nhưng không thể thực hiện tốt. –
Tôi thấy tài liệu được OK (xem http://phplens.com/lens/adodb/docs-adodb.htm) –
Tôi nghĩ rằng PEAR::MDB2 là những gì bạn đang tìm kiếm.
PDO hoạt động tuyệt vời cho tôi, thậm chí tho nó không phải là thư viện hoàn toàn thổi như PEAR :: MDB2.
PDO là một phần mở rộng được biên dịch của PHP5, do đó, có một lợi ích hiệu suất nhỏ là tốt.
Trong dự án tiếp theo của tôi, tôi cũng sẽ xem xét thư viện này. – Germstorm
Nếu bạn hài lòng với nó là MySql cụ thể, MySqli là lựa chọn mặc định.
Bạn có thể thử Zend_Db từ Zend Framework. Sau đó bạn có thể bao gồm các thành phần chế độ từ ZF.
Nếu bạn không có nhu cầu thực sự cụ thể, tôi khuyên bạn nên xem PDO, được đi kèm với PHP> = 5.1.
Nó hoàn toàn hướng đối tượng, tạo điều kiện tương thích giữa các công cụ DB; và nó tích hợp trong PHP như là một phần mở rộng C làm cho nó có thể nhanh hơn một chút so với tương đương phát triển trong PHP.
Bạn cũng có thể xem xét phần mở rộng mysqli, cung cấp cả giao diện hướng đối tượng và hướng đối tượng.
Nhưng tôi thà đi đến PDO, tôi nghĩ ...
Và, bây giờ mà bạn đang chi tiêu (đầu tư ;-)) một thời gian tìm kiếm những thứ mới, bạn có thể có một cái nhìn tại chuẩn bị phát biểu : họ được hỗ trợ bởi cả mysqli và PDO, và được tốt đẹp cho (trong số những thứ khác) lý do an ninh (không cần phải lo lắng về việc thoát dữ liệu của bạn để ngăn chặn tiêm SQL)
Nếu bạn đã nói bạn cần một ORM đầy đủ giải pháp, tôi đã có thể chỉ cho bạn Doctrine, mà thực sự là một khuôn khổ ORM tuyệt vời; nhưng nó có lẽ là quá nhiều cho nhu cầu của bạn ...
PDO không tạo điều kiện tương thích giữa RDBMSes. Nó thiếu cấu trúc để ẩn sự khác biệt giữa những thứ như cách các datetimes được xử lý khác nhau trên tất cả các RDBMS. PDO vẫn là một lựa chọn tốt để truy cập bất kỳ một RDBMS nào. Nhưng nó là không đầy đủ nếu hỗ trợ cross-RDBMS là cần thiết. – jmucchiello
Tôi đã sử dụng this một lần trong một thời gian, nó khá tốt! (Và có một tính năng autoslash tuyệt vời), nó dễ dàng tùy biến và khá nhỏ, nhưng nó có mọi thứ tôi cần. Bạn có thể tương đối dễ dàng mở rộng nó để hỗ trợ bộ nhớ đệm hoặc bất cứ điều gì bạn mong muốn.
Chúc may mắn tìm thấy bất kỳ điều gì phù hợp với bạn nhất.:)
Cũng digg của PDB, mà là một wrapper PDO đơn giản hoặc một cái gì đó có thể được tải về từ http://code.google.com/p/digg/wiki/PDB
Lớp db đơn giản và nhẹ là
http://code.google.com/p/edb-php-class/
<?php
$result = $db->q("select * from `users`limit 3");
foreach($result as $a){
$a = (object) $a;
echo $a->id.' '.$a->name.' '.$a->url.' '.$a->img.'</br>';
}
$result = $db->line("select * from `users` where id = '300' limit 1");
echo $result['name'];
echo $result['surname'];
$name = $db->one("select name from `ilike_pics` where id = '300' limit 1");
echo $name;
?>
Uh wow, tôi sẽ kiểm tra điều này và hy vọng nó hoạt động. Nó trông rất đẹp. – Germstorm
+1 cho PHP Mở rộng PDO (đối tượng dữ liệu PHP). Tôi sử dụng nó cùng với một lớp cơ sở dữ liệu thực sự tiện dụng mở rộng PDO. Bạn có thể tìm thấy dự án nguồn mở này trên Dự án Hosting của Google theo số http://code.google.com/p/php-pdo-wrapper-class.
Tôi khuyên bạn nên sử dụng PHP-MySQLi-Database-Class, sử dụng các câu lệnh chuẩn bị và MySQLi (điều này có nghĩa là bạn sẽ được bảo vệ khỏi việc tiêm SQL). Lớp học được tài liệu tốt.
Từ khung công tác Zend, bạn thực sự có thể thực hiện những gì bạn muốn. Thậm chí chỉ có Zend_Db! Và dĩ nhiên có một bộ điều hợp psd mysql. – markus