Chức năng nào được cung cấp bởi php để kết nối PostgreSQL SQL?

Tiện ích mở rộng PostgreSQL của PHP cung cấp API toàn diện cho các nhà phát triển để tương tác với RDBMS PostgreSQL. Ngoài các thao tác SQL cơ bản, API còn hỗ trợ các câu lệnh, giao dịch đã chuẩn bị, truy xuất siêu dữ liệu bảng và kiểm tra biến máy chủ

Không có gì bí mật khi PHP và MySQL kết hợp tốt với nhau. Cả PHP và MySQL đều là các dự án nguồn mở, được sử dụng rộng rãi trong cộng đồng nhà phát triển và kết hợp tốt với nhau nhờ hỗ trợ MySQL tích hợp sẵn của PHP. Trong khi MySQL đang nhận được nhiều sự chú ý, thì PostgreSQL cũng xứng đáng nhận được một cái gật đầu. PostgreSQL là một RDBMS mã nguồn mở, giàu tính năng với lượng người theo dõi trung thành trong cộng đồng nhà phát triển, là giải pháp thay thế khả thi cho các sản phẩm thương mại

Hướng dẫn này sẽ giới thiệu cho bạn API PostgreSQL của PHP và chỉ cho bạn cách PHP có thể kết nối với cơ sở dữ liệu PostgreSQL, lưu và truy xuất bản ghi, kiểm tra các biến máy chủ PostgreSQL và truy xuất thông tin bảng

giả định

Trước khi bắt đầu hướng dẫn, tôi muốn bạn thông báo cho bạn về ba giả định mà tôi đang đặt ra về bạn và môi trường phát triển của bạn

  • Bạn biết cơ bản về SQL và PHP
  • Bạn đã cài đặt RDBMS PostgreSQL và nó đang hoạt động trong môi trường phát triển của bạn. Nếu không phải như vậy, bạn sẽ cần tải xuống và cài đặt phiên bản PostgreSQL tương thích với hệ điều hành của bạn
  • Bạn có một máy chủ Web Apache đang hoạt động với sự hỗ trợ cho PHP 5. 1 và bản dựng PHP của bạn có hỗ trợ cho tiện ích mở rộng PostgreSQL. Nếu đây không phải là trường hợp, bạn có thể cần phải biên dịch lại PHP với tùy chọn ‘–with-pgsql’ [UNIX] hoặc kích hoạt tệp mở rộng thích hợp [Windows]. Hướng dẫn sử dụng PHP giải thích cách thực hiện các tác vụ này

điều kiện tiên quyết

Hãy thiết lập bảng cơ sở mà tôi sẽ sử dụng trong các ví dụ sau. Bắt đầu bằng cách tạo một cơ sở dữ liệu mới có tên test

postgres@thor:~$ /usr/local/pgsql/bin/createdb test

Tiếp theo, khởi động shell psql tương tác và tạo bảng sau

postgres@thor:~$ /usr/local/pgsql/bin/psql test
Welcome to psql 8.2.3, the PostgreSQL interactive terminal.

Type:  copyright for distribution terms

       h for help with SQL commands

       ? for help with psql commands

       g or terminate with semicolon to execute query

       q to quit

postgres=# CREATE TABLE Countries [ postgres[#  CountryID char[2] NOT NULL, postgres[#  CountryName varchar[255] NOT NULL, postgres[#  PRIMARY KEY  [CountryID] postgres[# ]; CREATE TABLE postgres=#

Sau đó, thêm một số bản ghi vào bảng để bắt đầu mọi thứ

postgres=# INSERT INTO Countries VALUES ['AL', 'Albania'];

INSERT 0 1

postgres=# INSERT INTO Countries VALUES ['DZ', 'Algeria'];

INSERT 0 1

postgres=# INSERT INTO Countries VALUES ['AS', 'American Samoa'];

INSERT 0 1

postgres=# INSERT INTO Countries VALUES ['AD', 'Andorra'];

INSERT 0 1

postgres=# INSERT INTO Countries VALUES ['AO', 'Angola'];

INSERT 0 1

postgres=# INSERT INTO Countries VALUES ['AI', 'Anguilla'];

INSERT 0 1

postgres=# INSERT INTO Countries VALUES ['AQ', 'Antarctica'];

INSERT 0 1

postgres=# INSERT INTO Countries VALUES ['AG', 'Antigua And Barbuda'];

INSERT 0 1

postgres=# INSERT INTO Countries VALUES ['AR', 'Argentina'];

INSERT 0 1

Khi bạn hoàn tất, hãy kiểm tra để đảm bảo rằng các bản ghi đã được chèn thành công

postgres=# SELECT * FROM Countries;
 countryid |     countryname

-----------+---------------------

 AL        | Albania

 DZ        | Algeria

 AS        | American Samoa

 AD        | Andorra

 AO        | Angola

 AI        | Anguilla

 AQ        | Antarctica

 AG        | Antigua And Barbuda

 AR        | Argentina

[9 rows]

Lấy dữ liệu

Bây giờ cơ sở dữ liệu đã được tạo và điền, tôi sẽ kiểm tra cách bạn có thể sử dụng PHP để kết nối với cơ sở dữ liệu và truy xuất các bản ghi từ nó. Đây là một tập lệnh PHP minh họa quá trình

 

 

 

Thực hiện theo bốn bước tiêu chuẩn sau để thực hiện truy vấn SQL trên cơ sở dữ liệu PostgreSQL bằng PHP

  1. Tạo kết nối đến máy chủ RDBMS bằng cách gọi hàm pg_connect[] và truyền cho nó một chuỗi chứa thông tin về tên máy chủ, tên người dùng cơ sở dữ liệu và mật khẩu [“host=localhost dbname=test user=postgres”]. Nếu có thể kết nối với máy chủ, một đối tượng tài nguyên kết nối mới sẽ được trả về;
  2. Tạo chuỗi truy vấn SQL và thực thi nó bằng phương thức pg_query[]. Đối với các truy vấn thành công, một đối tượng kết quả được trả về; . Nếu truy vấn không thành công, bạn có thể truy xuất lý do thất bại thông qua lệnh gọi pg_last_error[]
  3. Đối với các truy vấn CHỌN, bạn có thể xử lý thêm đối tượng kết quả để trích xuất dữ liệu từ nó. Cách dễ nhất để xử lý đối tượng kết quả là sử dụng vòng lặp while[], vòng lặp này gọi pg_fetch_array[] để tìm nạp bản ghi tiếp theo trong tập kết quả dưới dạng một mảng được lập chỉ mục bằng số; . Nếu bạn muốn mỗi bản ghi được trả về dưới dạng một mảng được lập chỉ mục chuỗi, hãy chuyển pg_fetch_array[] cờ PGSSQL_ASSOC làm đối số bổ sung
  4. Kết thúc phiên cơ sở dữ liệu bằng cách hủy đối tượng kết quả bằng pg_free_result[] và đóng kết nối cơ sở dữ liệu bằng pg_close[]

Thêm và sửa đổi dữ liệu

Phương thức pg_query[] cũng hoạt động tốt với các truy vấn INSERT, UPDATE và DELETE giống như với các truy vấn SELECT. Để minh họa điểm này, hãy xem xét danh sách sau, danh sách này nhắc người dùng nhập tên và mã quốc gia, sau đó tạo truy vấn INSERT để lưu dữ liệu đã gửi vào cơ sở dữ liệu bằng pg_query[]

 

 

Chủ Đề