Hướng dẫn what is pear db library in php? - thư viện lê db trong php là gì?

PEAR :: DB là một thư viện cơ sở dữ liệu hướng đối tượng, tiên tiến, cung cấp sự trừu tượng hóa cơ sở dữ liệu đầy đủ - nghĩa là, bạn sử dụng cùng một mã tất cả các cơ sở dữ liệu của mình. Nếu bạn muốn mã của mình có thể di động nhất có thể, Pear :: DB cung cấp sự pha trộn tốt nhất về tốc độ, sức mạnh và tính di động. Tuy nhiên, nếu các kịch bản của bạn chỉ có thể chạy cục bộ, không có lý do hấp dẫn thực sự để sử dụng Pear :: DB. is an advanced, object-oriented database library that provides full database abstraction - that is, you use the same code all your databases. If you want your code to be as portable as possible, PEAR::DB provides the best mix of speed, power, and portability. However, if your scripts are only ever going to run locally, there is no real compelling reason to use PEAR::DB.

PEAR :: DB hoạt động bằng cách trừu tượng hóa không chỉ các cuộc gọi cần thiết để hoạt động với các cơ sở dữ liệu (như mysqli_connect (), pgsql_query (), v.v.), mà còn đụng độ trong cú pháp SQL, chẳng hạn như "giới hạn". Trong PHP 5.1, có một tiện ích mở rộng mới có tên là đối tượng dữ liệu PHP (PDO) chỉ trừu tượng hóa các chức năng, mang lại một ngôi nhà nửa chừng giữa PEAR :: DB và chỉ sử dụng các cuộc gọi DB thông thường. works by abstracting not only the calls neccessary to work with the databases (such as mysqli_connect(), pgsql_query(), etc), but also clashes in SQL syntax, such as the oft-argued "LIMIT" clause. In PHP 5.1 there's a new extension called PHP Data Objects (PDO) that abstracts only the functions, which gives a half-way house between PEAR::DB and just using normal DB calls.

Kịch bản này dưới đây cung cấp một minh chứng tốt về cách PEAR :: DB hoạt động:PEAR::DB works:

getMessage();
        exit;
    } else {
        $result = $db->query("SELECT * FROM people;");

        while ($result->fetchInto($row, DB_FETCHMODE_ASSOC)) {
            extract($row);
            print "$Name: $NumVisits\n";
        }
    
        $result->free();
    }
    
    $db->disconnect();
?>

Lưu ý cách Pear :: DB sử dụng chuỗi kết nối giống URL, thường được gọi là tên nguồn dữ liệu (DSN), để xác định hoàn toàn kết nối của nó. Đây là phương pháp tương tự như đã thấy trong JDBC, vì vậy nó đã quen thuộc với các nhà phát triển Java. Chuỗi có thể bị phá vỡ như thế này:PEAR::DB uses a URL-like connection string, often called a Data Source Name (DSN), to entirely define its connection. This is the same method as seen in JDBC, so it should be familiar to Java developers already. The string can be broken down like this:

mysql: //

Kiểu kết nối

tên tài khoản

Tên người dùng của bạn

Mật khẩu

Mật khẩu của bạn

@Localhost

Địa chỉ máy chủ của bạn

/PHPDB

Tên cơ sở dữ liệu để sử dụng

Loại kết nối dành cho loại máy chủ mà bạn dự định kết nối. Bạn có thể chọn từ danh sách sau:

FBSQL

Cơ sở phía trước

ibase

Cơ sở

ifx

Thông tin

MSQL

SQL nhỏ

MSSQL

Microsoft SQL Server

mysql

Mysql

OCI8

Oracle 7/8/8i

ODBC

ODBC (Kết nối cơ sở dữ liệu mở)

PGSQL

Postgresql

sqlite

Sqlite

Sybase

Sybase

Phần còn lại của chuỗi khá đơn giản, vì vậy bây giờ bạn có thể thời trang DSN cho hệ thống của riêng bạn. Tiếp tục với mã, một khi DSN được chuẩn bị, nó chỉ đơn giản là vấn đề chuyển nó vào cuộc gọi đến DB :: Connect () làm tham số đầu tiên của nó - điều này sẽ trả về một tham chiếu đến đối tượng chúng ta có thể sử dụng để truy vấn. Hãy nhớ rằng Pear :: DB được định hướng đối tượng, điều đó có nghĩa là bạn cần phải bám vào giá trị trả về từ db :: Connect ().PEAR::DB is object-oriented, which means you need to hang on to the return value from DB::connect().

DB :: isError () là một cuộc gọi hàm đặc biệt lấy một tham số, giá trị để kiểm tra và trả về đúng nếu giá trị đó là một trong các loại lỗi của PEAR :: DB. Ở đây $ dB được truyền vào, bởi vì nếu db :: Connect () không thành công, nó sẽ trả về một thông báo lỗi được db :: isError () chọn. Trong cơ hội đã xảy ra lỗi, nó sẽ được lưu trữ trong hàm getMessage () của kết nối cơ sở dữ liệu của chúng tôi.PEAR::DB's error types. Here $db is passed in, because if DB::connect() failed, it would return an error message that is picked up by DB::isError(). In the off-chance that an error has occurred, it will be stored in the getMessage() function of our database connection.

Tuy nhiên, nếu mọi thứ diễn ra tốt đẹp, chúng ta có thể bắt đầu truy vấn hệ thống bằng hàm truy vấn () của đối tượng $ dB của chúng ta. Điều này cần truy vấn SQL để thực hiện dưới dạng tham số duy nhất của nó và trả về một đối tượng DB khác chứa thông tin kết quả. Để đạp xe qua thông tin kết quả, một vòng lặp trong thời gian được sử dụng, tận dụng hàm fetchinto () Pear :: db. Fetchinto () sẽ trả về sai nếu nó không thể trả lại bất kỳ hàng nào và lấy hai tham số: nơi nó sẽ gửi dữ liệu mà nó tìm nạp và cách lưu trữ dữ liệu ở đó. Sử dụng db_fetchmode_assoc có nghĩa là PEAR :: DB sẽ đặt $ Row lên để trở thành một mảng kết hợp của một hàng trong tập kết quả, lặp lại một cách đệ quy qua các hàng với mỗi vòng lặp.$db object. This takes the SQL query to perform as its only parameter, and returns another DB object that contains the result information. To cycle through the result information, a while loop is used, taking advantage of the fetchInto()PEAR::DB function. FetchInto() will return false if it cannot return any more rows, and takes two parameters: where it should send the data it fetches, and how it should store the data there. Using DB_FETCHMODE_ASSOC means that PEAR::DB will set $row up to be an associative array of one row in the result set, recursively iterating through the rows with each while loop.

Vào cuối tập lệnh, các hàm miễn phí () và ngắt kết nối () được gọi. Như thường lệ, điều này là không bắt buộc vì PHP sẽ làm sạch các kết nối khi các tập lệnh kết thúc, nhưng điều quan trọng là phải đảm bảo bạn không cung cấp cho PHP thêm để làm. Cũng như thường lệ, một lý do chính đáng khác để sử dụng hai là để giải phóng các tài nguyên - có rất ít điểm treo ở cuối kết nối SQL và không làm gì cả.

Bạn muốn học Php 7?

Hack với PHP đã được cập nhật đầy đủ cho PHP 7 và hiện có sẵn dưới dạng PDF có thể tải xuống. Nhận hơn 1200 trang học tập PHP thực hành ngay hôm nay!over 1200 pages of hands-on PHP learning today!

Nếu điều này hữu ích, xin vui lòng dành một chút thời gian để nói với người khác về việc hack với PHP bằng cách tweet về nó!

Chương tiếp theo: Pear Quick :: DB Gọi >>

Chương trước: Phpmyadmin

Nhảy đến:

Trang chủ: Bảng nội dung

Bản quyền © 2015 Paul Hudson. Theo dõi tôi: @twostraws.

Basic DB Pear DB trong PHP là gì?

PEAR (Khoa mở rộng PHP và Kho lưu trữ ứng dụng) là một hệ thống phân phối và khung cho các lớp, thư viện và mô -đun có thể tái sử dụng.Một trong những gói phổ biến nhất của nó là Pear DB, lớp trừu tượng hóa cơ sở dữ liệu được tạo bởi dự án này.a framework and distribution system for reusable PHP classes, libraries and modules. One of its most popular packages is PEAR DB, the database abstraction layer created by this project.

Phương pháp nào được sử dụng để kết nối cơ sở dữ liệu trong PEAR DB?

Pear DB sử dụng hàm DB :: Connect () cho mục đích này (lưu ý sự tương đồng với cú pháp mô -đun CPAN của Perl).DB::connect() function for this purpose (notice the similarity to PERL's CPAN module syntax).

Phương pháp lớp nào từ các loại sau được sử dụng trong thư viện PEAR DB?

Thư viện được định hướng đối tượng, với hỗn hợp các phương thức lớp (db :: Connect (), db :: isError ()) và các phương thức đối tượng ($ db-> query (), $ q-> fetchinto ()).DB::connect( ) , DB::iserror( ) ) and object methods ( $db->query( ) , $q->fetchInto( ) ).

Pear DB nào là một giải pháp thay thế cho gán ID cụ thể của cơ sở dữ liệu?

Trình tự Pear DB là một giải pháp thay thế cho gán ID dành riêng cho cơ sở dữ liệu (ví dụ: tự động_increment của MySQL).Một chuỗi thực sự là một bảng trong cơ sở dữ liệu theo dõi ID được chỉ định cuối cùng. are an alternative to database-specific ID assignment (for instance, MySQL's AUTO_INCREMENT). A sequence is really a table in the database that keeps track of the last-assigned ID.