Ví dụ lớp kết nối cơ sở dữ liệu PHP PDO

Do tính đơn giản và dễ sử dụng của nó, PHP là ngôn ngữ kịch bản mã nguồn mở có mục đích chung được sử dụng rộng rãi. PHP được sử dụng để tạo các trang web động và tương tác một cách nhanh chóng và có thể truy cập vào nhiều hệ thống quản lý cơ sở dữ liệu quan hệ như MySQL, PostgreSQL và SQLite. Nhiều người trong chúng ta đã truy cập cơ sở dữ liệu MySQL bằng cách sử dụng phần mở rộng MySQL hoặc MySQLi. Kể từ phiên bản 5. 1 PHP cung cấp thư viện trừu tượng hóa kết nối cơ sở dữ liệu mới, PHP Data Objects [PDO]

nội dung

PDO là gì?

  • PDO - Đối tượng dữ liệu PHP
  • Một tập hợp các tiện ích mở rộng PHP cung cấp lớp PDO cốt lõi và trình điều khiển cơ sở dữ liệu cụ thể
  • Cung cấp lớp trừu tượng truy cập dữ liệu nhẹ trung lập với nhà cung cấp
  • Tập trung vào trừu tượng hóa truy cập dữ liệu hơn là trừu tượng hóa cơ sở dữ liệu
  • PDO yêu cầu các tính năng hướng đối tượng mới trong lõi của PHP 5, do đó nó sẽ không chạy với các phiên bản PHP cũ hơn

Cài đặt PDO

PDO được chia thành hai thành phần
- Lõi cung cấp giao diện
- Trình điều khiển để truy cập trình điều khiển cụ thể

Cài đặt PDO trên hệ thống Unix
-- PDO [Core] và trình điều khiển PDO_SQLITE [trình điều khiển SQLITE] được bật theo mặc định kể từ PHP 5. 1. 0. Để truy cập các cơ sở dữ liệu khác, bạn phải kích hoạt trình điều khiển PDO
-- Để cài đặt PDO làm mô-đun dùng chung, php. ini cần được cập nhật để tiện ích mở rộng PDO sẽ được tải tự động khi PHP chạy. Bạn cũng cần bật các trình điều khiển dành riêng cho cơ sở dữ liệu khác và chúng phải được liệt kê sau pdo. vì vậy, vì PDO phải được khởi tạo trước khi có thể tải các tiện ích mở rộng dành riêng cho cơ sở dữ liệu. Nếu bạn đã tạo tĩnh PDO và các tiện ích mở rộng dành riêng cho cơ sở dữ liệu, bạn có thể bỏ qua bước này
tiện ích mở rộng = pdo. vì thế

Cài đặt PDO trên hệ thống Windows
-- PDO và tất cả các trình điều khiển chính đi kèm với PHP dưới dạng tiện ích mở rộng được chia sẻ và chỉ cần được kích hoạt bằng cách chỉnh sửa tệp php. tập tin ini
tiện ích mở rộng = php_pdo. dll
Bước này không cần thiết cho PHP 5. 3 trở lên, vì DLL không còn cần thiết cho PDO
-- Tiếp theo, chọn các tệp DLL dành riêng cho cơ sở dữ liệu khác và sử dụng dl[] để tải chúng khi chạy hoặc bật chúng trong php. ini bên dưới php_pdo. dll

Để có được hiệu ứng của một cấu hình mới trong php. ini, bạn sẽ cần phải khởi động lại PHP

Hằng số được xác định trước

Cơ sở dữ liệu được hỗ trợ

Giao diện PDO có sẵn trong các trình điều khiển sau

Tên cơ sở dữ liệuTên trình điều khiểnCubridPDO_CUBRIDFreeTDS/Microsoft SQL Server/SybasePDO_DBLIBFirebird/Interbase 6PDO_FIREBIRDIBM DB2PDO_IBMIBM Informix Dynamic ServerPDO_INFORMIXMySQL 3. x/4. x/5. xPDO_MYSQLGiao diện cuộc gọi OraclePDO_OCIODBC v3 [IBM DB2, unixODBC và win32 ODBC]PDO_ODBCPostgreSQLPDO_PGSQLSQLite 3 và SQLite 2PDO_SQLITEMicrosoft SQL Server / SQL AzurePDO_SQLSRV4DPDO_4D

Cơ sở dữ liệu mẫu, bảng, cấu trúc bảng, bản ghi bảng cho các ví dụ khác nhau

mysql

Tên cơ sở dữ liệu. giờ
Tên máy chủ. máy chủ cục bộ
người dùng cơ sở dữ liệu. nguồn gốc
Mật khẩu. ''

Cấu trúc của bảng. Chi tiết người dùng

 

Kỷ lục của bảng. Chi tiết người dùng

 

PostgreSQL

Tên cơ sở dữ liệu. postgres
Tên máy chủ. máy chủ cục bộ
người dùng cơ sở dữ liệu. postgres
Mật khẩu. abc123

Cấu trúc của bảng. Chi tiết người dùng

 

Kỷ lục của bảng. Chi tiết người dùng

 

Lớp học PDO

Lớp đại diện cho kết nối giữa PHP và máy chủ cơ sở dữ liệu

cú pháp

PDO {
      __construct [ string $dsn [, string $username [, string $password [, array $driver_options ]]] ] 
	bool beginTransaction [ void ] 
	bool commit [ void ] 
	mixed errorCode [ void ] 
	array errorInfo [ void ] 
	int exec [ string $statement ] 
	mixed getAttribute [ int $attribute ] 
	static array getAvailableDrivers [ void ] 
	bool inTransaction [ void ] 
	string lastInsertId [[ string $name = NULL ] ] 
	PDOStatement prepare [ string $statement [, array $driver_options = array[] ] ] 
	PDOStatement query [ string $statement ] 
	string quote [ string $string [, int $parameter_type = PDO::PARAM_STR ] ] 
	bool rollBack [ void ] 
	bool setAttribute [ int $attribute , mixed $value ] }mp[$var_name];
} 

Chi tiết về các phương thức của lớp PDO

PDO. __xây dựng

Tạo một phiên bản PDO đại diện cho một kết nối đến cơ sở dữ liệu

cú pháp

PDO::__construct[] [ string $dsn [, string $username [, string $password [, array $driver_options ]]] ]

Thông số

dsn - Tên nguồn dữ liệu hoặc DSN, chứa thông tin cần thiết để kết nối với cơ sở dữ liệu. Chuỗi chứa tên tiền tố [e. g. pssql cho cơ sở dữ liệu PostgreSQL], dấu hai chấm và từ khóa máy chủ
tên người dùng - Một chuỗi chứa tên người dùng. Tham số này là tùy chọn đối với một số trình điều khiển PDO
mật khẩu - Một chuỗi chứa mật khẩu của người dùng. Tham số này là tùy chọn đối với một số trình điều khiển PDO
driver_options - Tùy chọn. Một mảng key=>value của các tùy chọn kết nối dành riêng cho trình điều khiển

Giá trị trả về
Trả về một đối tượng PDO khi thành công. Nếu thất bại, trả về một đối tượng PDOException

kết nối cơ sở dữ liệu

Các kết nối được thiết lập bằng cách tạo các thể hiện của lớp cơ sở PDO. Bạn muốn sử dụng trình điều khiển nào không quan trọng; . Hàm tạo chấp nhận các tham số để chỉ định nguồn cơ sở dữ liệu [được gọi là DSN] và tùy chọn cho tên người dùng và mật khẩu [nếu có]

kết nối mysql

        

Kết nối PostgreSQL


Xử lý lỗi kết nối

Nếu có bất kỳ lỗi kết nối nào, một đối tượng PDOException sẽ bị ném. Bạn có thể bắt ngoại lệ nếu bạn muốn xử lý tình trạng lỗi hoặc bạn có thể để nó cho trình xử lý ngoại lệ chung có thể được thiết lập thông qua set_Exception_handler[]

mysql

Ở đây id người dùng là sai


đầu ra

Error : SQLSTATE[28000] [1045] Access denied for user 'roott'@'localhost' [using password: NO]

PostgreSQL

Ở đây tên cơ sở dữ liệu là sai


đầu ra

Lỗi. SQLSTATE[08006] [7] không thể kết nối với máy chủ. Kết nối bị từ chối [0x0000274D/10061] Máy chủ có đang chạy trên máy chủ "localhost" [. 1] và chấp nhận kết nối TCP/IP trên cổng 5432? . xác thực mật khẩu không thành công cho người dùng "postgres"

Đóng kết nối


kết nối liên tục

Nhiều ứng dụng web sẽ được hưởng lợi từ việc tạo kết nối liên tục đến máy chủ cơ sở dữ liệu. Các kết nối liên tục không bị đóng ở cuối tập lệnh nhưng được lưu vào bộ nhớ cache và được sử dụng lại khi một tập lệnh khác yêu cầu kết nối bằng cùng thông tin đăng nhập. Bộ đệm kết nối liên tục cho phép bạn tránh được chi phí thiết lập kết nối mới mỗi khi tập lệnh cần nói chuyện với cơ sở dữ liệu, dẫn đến ứng dụng web nhanh hơn

mysql

________số 8_______

PostgreSQL

PDO. bắt đầu giao dịch

Tắt chế độ tự động cam kết và bắt đầu giao dịch. Giao dịch bắt đầu với PDO. bắt đầu Giao dịch và sẽ kết thúc khi PDO. cam kết hoặc PDO. khôi phục được gọi là

cú pháp

PDO::__construct[] [ string $dsn [, string $username [, string $password [, array $driver_options ]]] ]
0

Giá trị trả về
Trả về TRUE nếu thành công hoặc FALSE nếu thất bại

Thí dụ
Ví dụ sau đây, cơ sở dữ liệu MySQL có tên là hr và bảng có tên là user_details đã sử dụng. Nó bắt đầu một giao dịch và sau đó thực hiện một lệnh để thêm một hàng vào bảng user_details. Lệnh được gửi đến cơ sở dữ liệu và giao dịch được kết thúc rõ ràng bằng PDO. làm

PDO::__construct[] [ string $dsn [, string $username [, string $password [, array $driver_options ]]] ]
1

PDO. làm

Cam kết giao dịch, đưa kết nối cơ sở dữ liệu về chế độ tự động cam kết cho đến lần gọi tiếp theo tới PDO. beginTransaction[] bắt đầu một giao dịch mới

cú pháp

PDO::__construct[] [ string $dsn [, string $username [, string $password [, array $driver_options ]]] ]
2

Giá trị trả về
Trả về TRUE nếu thành công hoặc FALSE nếu thất bại

Thí dụ
Xem phần trước [PDO. beginTransaction] ví dụ

PDO. mã lỗi

PDO. errorCode truy xuất SQLSTATE [giá trị lớp hai ký tự theo sau là giá trị lớp con ba ký tự] được liên kết với thao tác cuối cùng trên bộ điều khiển cơ sở dữ liệu

cú pháp

PDO::__construct[] [ string $dsn [, string $username [, string $password [, array $driver_options ]]] ]
3

Giá trị trả về
Trả về SQLSTATE năm ký tự dưới dạng một chuỗi hoặc NULL nếu không có thao tác nào trên bộ điều khiển câu lệnh

Thí dụ

Trong ví dụ này, tên của cột bị sai chính tả [giới tính thay vì giới tính], gây ra lỗi. errorCode[] hiển thị lỗi

PDO::__construct[] [ string $dsn [, string $username [, string $password [, array $driver_options ]]] ]
4

đầu ra

PDO::__construct[] [ string $dsn [, string $username [, string $password [, array $driver_options ]]] ]
5

PDO. errorInfo

Truy xuất thông tin lỗi mở rộng liên quan đến thao tác cuối cùng trên xử lý cơ sở dữ liệu

cú pháp

PDO::__construct[] [ string $dsn [, string $username [, string $password [, array $driver_options ]]] ]
6

Giá trị trả về
Một mảng thông tin lỗi về thao tác cuối cùng được thực hiện bởi bộ xử lý cơ sở dữ liệu này. Mảng bao gồm các trường sau

0. Mã lỗi SQLSTATE
1. Mã lỗi dành riêng cho trình điều khiển
2. Thông báo lỗi dành riêng cho trình điều khiển

Thí dụ
Trong ví dụ sau [cơ sở dữ liệu PostgreSQL được sử dụng], tên của cột bị sai chính tả [giới tính thay vì giới tính], gây ra lỗi, lỗi này sau đó được báo cáo

PDO::__construct[] [ string $dsn [, string $username [, string $password [, array $driver_options ]]] ]
7

đầu ra

PDO::__construct[] [ string $dsn [, string $username [, string $password [, array $driver_options ]]] ]
8

PDO. giám đốc điều hành

Thực thi câu lệnh SQL và trả về số hàng bị ảnh hưởng bởi câu lệnh

cú pháp

PDO::__construct[] [ string $dsn [, string $username [, string $password [, array $driver_options ]]] ]
9

Thông số
câu lệnh - Một câu lệnh SQL để chuẩn bị và thực thi

Giá trị trả về
Một số nguyên báo cáo số hàng bị ảnh hưởng. Nếu không có hàng nào bị ảnh hưởng, PDO. exec[] trả về 0

Thí dụ

Trong ví dụ sau [cơ sở dữ liệu PostgreSQL được sử dụng], tên của cột bị sai chính tả [giới tính thay vì giới tính], gây ra lỗi, lỗi này sau đó được báo cáo

        
0

đầu ra

        
1

PDO. getAttribute

Retrieves the value of a predefined PDO or driver attribute

cú pháp

        
2

Parameters
One of the PDO. ATTR_* constants. The constants that apply to database connections are as follows
PDO. ATTR_AUTOCOMMIT
PDO. ATTR_CASE
PDO. ATTR_CLIENT_VERSION
PDO. ATTR_CONNECTION_STATUS
PDO. ATTR_DRIVER_NAME
PDO. ATTR_ERRMODE
PDO. ATTR_ORACLE_NULLS
PDO. ATTR_PERSISTENT
PDO. ATTR_PREFETCH
PDO. ATTR_SERVER_INFO
PDO. ATTR_SERVER_VERSION
PDO. ATTR_TIMEOUT

Giá trị trả về
Một cuộc gọi thành công trả về giá trị của thuộc tính PDO được yêu cầu. Khi thất bại, trả về null

Thí dụ
Ví dụ sau [cơ sở dữ liệu PostgreSQL được sử dụng] truy xuất các thuộc tính kết nối cơ sở dữ liệu

        
3

đầu ra

        
4

PDO. getAvailableDrivers

Trả về một mảng các trình điều khiển PDO có sẵn trong bản cài đặt PHP của bạn

cú pháp

        
5

Giá trị trả về
Một mảng với danh sách trình điều khiển PDO

Thí dụ

Ví dụ sau trả về một mảng tên trình điều khiển PDO có sẵn

        
6

đầu ra

        
7

PDO. trong giao dịch

Kiểm tra xem một giao dịch hiện đang hoạt động trong trình điều khiển. Phương pháp này chỉ hoạt động đối với trình điều khiển cơ sở dữ liệu hỗ trợ giao dịch

cú pháp

        
8

Giá trị trả về
Trả về TRUE nếu giao dịch hiện đang hoạt động và FALSE nếu không

PDO. LastInsertId

Trả về mã định danh của hàng hoặc giá trị chuỗi được chèn cuối cùng vào một bảng trong cơ sở dữ liệu

cú pháp

        
9

Giá trị trả về
Nếu tên dãy không được chỉ định cho tham số tên, PDO. lastInsertId[] trả về một chuỗi biểu thị ID hàng của hàng cuối cùng được chèn vào cơ sở dữ liệu
Nếu tên dãy được chỉ định cho tham số tên, PDO. lastInsertId[] trả về một chuỗi đại diện cho giá trị cuối cùng được lấy từ đối tượng trình tự đã chỉ định
Nếu trình điều khiển PDO không hỗ trợ khả năng này, PDO. lastInsertId[] kích hoạt IM001 SQLSTATE

Thí dụ

Ví dụ sau [cơ sở dữ liệu PostgreSQL được sử dụng] trả về ID của giá trị chuỗi hoặc hàng được chèn cuối cùng


0

PDO. chuẩn bị

Chuẩn bị một tuyên bố để thực hiện

cú pháp


1

Parameters
tuyên bố. Một chuỗi chứa câu lệnh SQL hợp lệ
driver_options. Một mảng chứa tên và giá trị thuộc tính [key=>value pair ]

Giá trị trả về
Trả về một đối tượng PDOStatement khi thành công. Khi thất bại, trả về một đối tượng PDOException hoặc sai tùy thuộc vào giá trị của PDO. ATTR_ERRMODE

Ví dụ 1

Ví dụ sau chuẩn bị một câu lệnh SQL với các tham số được đặt tên


2

đầu ra


3

Ví dụ - 2

Ví dụ sau chuẩn bị một câu lệnh SQL với tham số dấu chấm hỏi


4

đầu ra


3

PDO. truy vấn

Thực thi một truy vấn SQL và trả về tập kết quả dưới dạng đối tượng PDOStatement

cú pháp


6

Parameters
tuyên bố. Câu lệnh SQL để thực thi

Giá trị trả về
PDO. query[] trả về một đối tượng PDOStatement hoặc FALSE nếu không thành công

Thí dụ

Trong ví dụ sau PDO. query[] lặp qua tập hợp hàng được trả về bởi câu lệnh SELECT


7

đầu ra


8

PDO. trích dẫn

Đặt dấu ngoặc kép xung quanh chuỗi đầu vào để sử dụng trong truy vấn

cú pháp


9

Parameters
chuỗi - Chuỗi được trích dẫn
parameter_type - Cung cấp gợi ý kiểu dữ liệu cho trình điều khiển có kiểu trích dẫn thay thế

Giá trị trả về
Chuỗi được trích dẫn có thể được chuyển đến câu lệnh SQL hoặc sai nếu lỗi

Thí dụ
Ví dụ sau cho thấy cách trích dẫn một chuỗi bình thường


0

đầu ra


1

PDO. cuộn lại

Hoàn nguyên giao dịch hiện tại, do PDO bắt đầu. bắt đầu giao dịch[]. Một PDOException sẽ bị ném nếu không có giao dịch nào đang hoạt động

cú pháp


2

Giá trị trả về
TRUE nếu cuộc gọi phương thức thành công, FALSE nếu không

Thí dụ

Ví dụ sau bắt đầu một giao dịch và đưa ra câu lệnh DROP trước khi khôi phục các thay đổi. Trong MySQL, câu lệnh DROP TABLE tự động thực hiện giao dịch, do đó sẽ không có gì quay trở lại


3

PDO. setAttribute

Đặt một thuộc tính

cú pháp


4

Dưới đây là danh sách một số thuộc tính chung có sẵn

  • PDO. ATTR_CASE. Buộc tên cột vào một trường hợp cụ thể
  • PDO. CASE_LOWER. Buộc tên cột thành chữ thường
  • PDO. CASE_NATURAL. Để lại các tên cột như được trả về bởi trình điều khiển cơ sở dữ liệu
  • PDO. CASE_UPPER. Buộc tên cột thành chữ hoa
  • PDO. ATTR_ERRMODE. Báo cáo lỗi
  • PDO. ERRMODE_SILENT. Chỉ cần đặt mã lỗi
  • PDO. ERRMODE_WARNING. Tăng E_WARNING
  • PDO. ERRMODE_EXCEPTION. Ném ngoại lệ
  • PDO. ATTR_ORACLE_NULLS [có sẵn với tất cả các trình điều khiển, không chỉ Oracle]. Chuyển đổi NULL và chuỗi rỗng
  • PDO. NULL_NATURAL. Không chuyển đổi
  • PDO. NULL_EMPTY_STRING. Chuỗi rỗng được chuyển thành NULL
  • PDO. NULL_TO_STRING. NULL được chuyển đổi thành một chuỗi rỗng
  • PDO. ATTR_STRINGIFY_FETCHES. Chuyển đổi giá trị số thành chuỗi khi tìm nạp. Yêu cầu bool
  • PDO. ATTR_STATEMENT_CLASS. Đặt lớp câu lệnh do người dùng cung cấp bắt nguồn từ PDOStatement. Không thể được sử dụng với các phiên bản PDO liên tục. Yêu cầu mảng [tên lớp chuỗi, mảng [hàm tạo hỗn hợp_args]]
  • PDO. ATTR_TIMEOUT. Chỉ định thời gian chờ tính bằng giây. Không phải tất cả các trình điều khiển đều hỗ trợ tùy chọn này và ý nghĩa của nó có thể khác nhau giữa các trình điều khiển. Ví dụ: sqlite sẽ đợi đến giá trị thời gian này trước khi từ bỏ việc lấy khóa có thể ghi, nhưng các trình điều khiển khác có thể hiểu đây là khoảng thời gian chờ kết nối hoặc đọc
  • PDO. ATTR_AUTOCOMMIT [có sẵn trong OCI, Firebird và MySQL]. Có tự động cam kết từng câu lệnh hay không
  • PDO. ATTR_EMULATE_PREPARES Bật hoặc tắt mô phỏng các câu lệnh đã chuẩn bị. Một số trình điều khiển không hỗ trợ các câu lệnh được chuẩn bị sẵn hoặc có hỗ trợ hạn chế cho chúng. Sử dụng cài đặt này để buộc PDO luôn mô phỏng các câu lệnh đã chuẩn bị [nếu ĐÚNG] hoặc cố gắng sử dụng các câu lệnh đã chuẩn bị sẵn [nếu SAI]
  • PDO. MYSQL_ATTR_USE_BUFFERED_QUERY [có sẵn trong MySQL]. Sử dụng truy vấn đệm
  • PDO. ATTR_DEFAULT_FETCH_MODE. Đặt chế độ tìm nạp mặc định

Giá trị trả về
Trả về TRUE nếu thành công hoặc FALSE nếu thất bại

Thí dụ

Ví dụ sau cho biết cách đặt PDO. Thuộc tính ATTR_ERRMODE


5

đầu ra


6

Lớp PDOStatement

Đại diện cho một câu lệnh đã chuẩn bị và sau khi câu lệnh được thực thi, một tập hợp kết quả được liên kết

Thông tin chi tiết về lớp học


7

Tuyên bố PDO. ràng buộcColumn

Liên kết một biến PHP với một cột trong tập hợp kết quả

cú pháp


8

Parameters

TênMô tảLoại cộtSố cột [được lập chỉ mục 1] hoặc tên của cột trong tập hợp kết quả. mixparamTên của biến PHP mà cột sẽ được liên kết. mixtypeLoại dữ liệu của tham số, được chỉ định bởi PDO. hằng số PARAM_*. intmaxLenA gợi ý cho phân bổ trước [tùy chọn]. intdriverdata[Các] tham số tùy chọn cho trình điều khiển. Trộn

Giá trị trả về
Trả về TRUE nếu thành công hoặc FALSE nếu thất bại

Thí dụ
Ví dụ sau đây cho thấy cách một biến có thể được liên kết với một cột trong tập hợp kết quả


9

đầu ra

Error : SQLSTATE[28000] [1045] Access denied for user 'roott'@'localhost' [using password: NO]
0

Tuyên bố PDO. ràng buộcParam

Liên kết một tham số với tên biến đã chỉ định

cú pháp

Error : SQLSTATE[28000] [1045] Access denied for user 'roott'@'localhost' [using password: NO]
1

Parameters

Tên Mô tả Loại tham số Định danh tham số. Đối với câu lệnh đã chuẩn bị sử dụng trình giữ chỗ có tên, đây sẽ là tên tham số của biểu mẫu. Tên. mixvariableTên của biến PHP để liên kết với tham số câu lệnh SQL. mixdata_typeOptional, PDO. PARAM_* hằng số. intlengthLength của kiểu dữ liệu. intdriver_optionsCác tùy chọn tùy chọn [hỗn hợp] dành riêng cho trình điều khiển. Trộn

Giá trị trả về
Trả về TRUE nếu thành công hoặc FALSE nếu thất bại

Ví dụ 1
Ví dụ sau đây cho thấy cách thực thi một câu lệnh đã chuẩn bị với các trình giữ chỗ được đặt tên

Error : SQLSTATE[28000] [1045] Access denied for user 'roott'@'localhost' [using password: NO]
2

Ví dụ - 2
Ví dụ sau đây cho thấy cách thực hiện một câu lệnh đã chuẩn bị với các chỗ dành sẵn cho dấu chấm hỏi

Error : SQLSTATE[28000] [1045] Access denied for user 'roott'@'localhost' [using password: NO]
3

Tuyên bố PDO. bindValue

Liên kết một giá trị với một trình giữ chỗ có tên hoặc dấu chấm hỏi trong câu lệnh SQL

cú pháp

Error : SQLSTATE[28000] [1045] Access denied for user 'roott'@'localhost' [using password: NO]
4

Parameters

Tên Mô tả Loại tham số Định danh tham số. Đối với câu lệnh đã chuẩn bị sử dụng trình giữ chỗ có tên, đây sẽ là tên tham số của biểu mẫu. Tên. giá trị hỗn hợpGiá trị để liên kết với tham số. mixdata_typeOptional, PDO. PARAM_* hằng số. int

Giá trị trả về
Trả về TRUE nếu thành công hoặc FALSE nếu thất bại

Ví dụ 1
Ví dụ sau đây cho thấy cách thực thi một câu lệnh đã chuẩn bị với các trình giữ chỗ được đặt tên

Error : SQLSTATE[28000] [1045] Access denied for user 'roott'@'localhost' [using password: NO]
5

đầu ra

Error : SQLSTATE[28000] [1045] Access denied for user 'roott'@'localhost' [using password: NO]
6

Ví dụ - 2
Ví dụ sau đây cho thấy cách thực hiện một câu lệnh đã chuẩn bị với các chỗ dành sẵn cho dấu chấm hỏi

Error : SQLSTATE[28000] [1045] Access denied for user 'roott'@'localhost' [using password: NO]
7

đầu ra

Error : SQLSTATE[28000] [1045] Access denied for user 'roott'@'localhost' [using password: NO]
8

Tuyên bố PDO. đóng con trỏ

Đóng con trỏ, cho phép thực hiện lại câu lệnh

cú pháp

Error : SQLSTATE[28000] [1045] Access denied for user 'roott'@'localhost' [using password: NO]
9

Giá trị trả về
Trả về TRUE nếu thành công hoặc FALSE nếu thất bại

Ví dụ 1


0

Tuyên bố PDO. số cột

Trả về số cột trong một tập hợp kết quả

cú pháp


1

Giá trị trả về
Trả về TRUE nếu thành công hoặc FALSE nếu thất bại

Ví dụ 1
Ví dụ sau hiển thị số cột của một bảng cụ thể


2

đầu ra


3

Tuyên bố PDO. gỡ lỗiDumpParams

Kết xuất một lệnh chuẩn bị SQL

p>Cú pháp.

4

Giá trị trả về
Không có giá trị nào được trả về

Ví dụ 1
Đây là một ví dụ về PDOStatement. gỡ lỗiDumpParams[]


5

đầu ra


6

Tuyên bố PDO. mã lỗi

Tìm nạp SQLSTATE của hoạt động gần đây nhất trên đối tượng câu lệnh cơ sở dữ liệu

cú pháp


7

Giá trị trả về
Tương tự với PDO. errorCode[], ngoại trừ PDOStatement đó. errorCode[] chỉ truy xuất mã lỗi cho các thao tác được thực hiện với các đối tượng PDOStatement

Ví dụ 1
Trong ví dụ sau, truy vấn SQL có lỗi [tên cột sai]. errorCode[] hiển thị lỗi


8

đầu ra


9

Tuyên bố PDO. errorInfo

Truy xuất thông tin lỗi liên quan đến thao tác cuối cùng trên xử lý câu lệnh

cú pháp


0

Parameters

TênMô tảTypetham số
định danh tham số. Đối với câu lệnh đã chuẩn bị sử dụng trình giữ chỗ có tên, đây sẽ là tên tham số của biểu mẫu. Tên. giá trị hỗn hợpGiá trị để liên kết với tham số. mixdata_typeOptional, PDO. PARAM_* hằng số. int

Giá trị trả về
Tuyên bố PDO. errorInfo[] trả về một mảng thông tin lỗi về thao tác cuối cùng được thực hiện bởi phần xử lý câu lệnh này. Mảng bao gồm các trường sau

0 - Mã lỗi SQLSTATE
1 - Mã lỗi dành riêng cho trình điều khiển
2 - Thông báo lỗi dành riêng cho trình điều khiển

Ví dụ 1
In the following example, SQL statement has an error, which is displayed by errorinfo[]


1

đầu ra


2

PDOStatement. execute

Executes a prepared statement

cú pháp


3

Parameters

NameDescriptionTypeinput_parametersMột mảng chứa các giá trị cho các dấu tham số. array

Giá trị trả về
Trả về TRUE nếu thành công hoặc FALSE nếu thất bại

Ví dụ 1
Ví dụ sau đây thực thi một biến được chuẩn bị sẵn


4

đầu ra


5

PDOStatement. fetch

Fetches the next row from a result set

Syntax


6

Parameters

NameDescriptionTypeparameterKiểm soát cách hàng tiếp theo sẽ được trả lại cho người gọi. Giá trị này phải là một trong các PDO. FETCH_* constants [see the constants details], defaulting to the value of PDO. ATTR_DEFAULT_FETCH_MODE [which defaults to PDO. FETCH_BOTH]. intcursor_orientationThis value must be one of the PDO. FETCH_ORI_* constants, defaulting to PDO. FETCH_ORI_NEXT. intoffsetFor a PDOStatement object representing a scrollable cursor for which the cursor_orientation parameter is set to PDO. FETCH_ORI_ABS, giá trị này chỉ định số lượng tuyệt đối của hàng trong tập hợp kết quả sẽ được tìm nạp. int

Giá trị trả về
Giá trị trả về của hàm này khi thành công phụ thuộc vào loại tìm nạp. Trong mọi trường hợp, FALSE được trả về khi thất bại

Ví dụ 1
Ví dụ sau đây cho thấy cách tìm nạp hàng bằng các kiểu tìm nạp khác nhau


7

đầu ra


8

Tuyên bố PDO. lấy tất cả

Trả về một mảng chứa các hàng trong tập hợp kết quả

cú pháp


9

Parameters

NameDescriptionTypefetch_styleSpecifying the format of the row data. mixfetch_argument Đối số này có ý nghĩa khác nhau tùy thuộc vào giá trị của tham số fetch_style
PDO. FETCH_COLUMN. Trả về cột được lập chỉ mục 0 được chỉ định
PDO. FETCH_CLASS. Trả về các phiên bản của lớp đã chỉ định, ánh xạ các cột của mỗi hàng tới các thuộc tính được đặt tên trong lớp
PDO. FETCH_FUNC. Trả về kết quả gọi hàm đã chỉ định, sử dụng các cột của mỗi hàng làm tham số trong lệnh gọi. mixctor_argsArguments của hàm tạo lớp tùy chỉnh khi tham số fetch_style là PDO. FETCH_CLASS. int

Giá trị trả về
Một mảng các hàng còn lại trong tập kết quả hoặc sai nếu lệnh gọi phương thức không thành công

Ví dụ 1
Ví dụ sau tìm nạp tất cả các hàng còn lại trong tập hợp kết quả

0

đầu ra

1

 

Tuyên bố PDO. tìm nạpColumn

Trả về một cột trong một hàng từ hàng tiếp theo của tập hợp kết quả

cú pháp

2

Parameters

TênMô tảTypecolumn_numberMột số nguyên tùy chọn cho biết số cột dựa trên số không. Mặc định là 0 [cột đầu tiên trong hàng]. Trộn

Giá trị trả về
Trả về TRUE nếu thành công hoặc FALSE nếu thất bại

Ví dụ 1
Ví dụ sau trả về một cột trong một hàng

3

đầu ra

4

 

Tuyên bố PDO. tìm nạp đối tượng

Truy xuất hàng tiếp theo dưới dạng đối tượng

cú pháp

5

Parameters

NameDescriptionTypeclass_nameTên lớp cần tạo. stringctor_argsMột mảng có đối số cho hàm tạo của lớp tùy chỉnh. mảng

Giá trị trả về
Khi thành công, trả về một đối tượng với một thể hiện của lớp. Trả về false khi thất bại

6

đầu ra

7

Tuyên bố PDO. getAttribute

Truy xuất thuộc tính câu lệnh

cú pháp

8

Nhận một thuộc tính của câu lệnh. Hiện tại, không có thuộc tính chung nào tồn tại nhưng trình điều khiển duy nhất cụ thể

Giá trị trả về
Trả về giá trị thuộc tính

Tuyên bố PDO. getColumnMeta

Trả về siêu dữ liệu cho một cột trong tập hợp kết quả

cú pháp

9

Parameters

NameDescriptionTypecolumnCột có chỉ số 0 trong tập hợp kết quả. int

Giá trị trả về
Trả về một mảng kết hợp

Ghi chú. Chức năng này là THỬ NGHIỆM

Ví dụ 1
Ví dụ sau đây cho thấy kết quả truy xuất siêu dữ liệu

0

đầu ra

1

Tuyên bố PDO. tiếp theoRowset

Di chuyển con trỏ đến tập hợp hàng tiếp theo trong bộ điều khiển câu lệnh nhiều hàng

cú pháp

2

Giá trị trả về
Trả về TRUE nếu thành công hoặc FALSE nếu thất bại

Ví dụ 1
Ví dụ sau đây cho thấy cách con trỏ di chuyển đến hàng tiếp theo trong câu lệnh nhiều hàng

3

đầu ra

4

Tuyên bố PDO. đếm số hàng

Trả về số hàng bị ảnh hưởng [thêm, xóa hoặc thay đổi] bởi câu lệnh cuối cùng

cú pháp

5

Giá trị trả về
Trả về số hàng

Ví dụ 1
Ví dụ sau đây cho thấy cách thực thi một câu lệnh đã chuẩn bị với các trình giữ chỗ được đặt tên

6

đầu ra

7

Tuyên bố PDO. setAttribute

Đặt thuộc tính câu lệnh. Hiện tại, không có thuộc tính chung nào được đặt mà chỉ có trình điều khiển cụ thể

cú pháp

8

Giá trị trả về

Trả về TRUE nếu thành công hoặc FALSE nếu thất bại

Tuyên bố PDO. setFetchMode

Đặt chế độ tìm nạp mặc định cho câu lệnh này

cú pháp

9

Parameters

NameDescriptionTypemodeChế độ tìm nạp phải là một trong các PDO. FETCH_* hằng số. Xem danh sách hằng số. hỗn hợpcolnoSố cột. intclassnameTên lớp. đối số stringctorargsConstructor. đối tượng mảngĐối tượng. mục tiêu

Làm cách nào để kết nối với cơ sở dữ liệu bằng PDO?

Kết nối cơ sở dữ liệu PDO yêu cầu bạn phải tạo đối tượng PDO mới với Tên nguồn dữ liệu [DSN], Tên người dùng và Mật khẩu . DSN xác định loại cơ sở dữ liệu, tên của cơ sở dữ liệu và bất kỳ thông tin nào khác liên quan đến cơ sở dữ liệu nếu được yêu cầu. Đây là các biến và giá trị chúng tôi đã nêu bên trong dbconfig.

Làm cách nào để kết nối cơ sở dữ liệu với lớp trong PHP?

Cách kết nối cơ sở dữ liệu trong PHP bằng OOPS .
lớp Cơ sở dữ liệuLớp
riêng tư $host = "máy chủ cục bộ";
riêng tư $username = "root";
riêng tư $password = "";
riêng tư $db = "test_db";
công cộng
chức năng __construct[]

Làm thế nào PHP được kết nối bằng PDO?

PDO đại diện cho kết nối giữa PHP và máy chủ cơ sở dữ liệu . PDOStatement đại diện cho một câu lệnh đã chuẩn bị và sau khi câu lệnh được thực thi, một tập hợp kết quả được liên kết. PDOException đại diện cho một lỗi do PDO đưa ra.

Làm cách nào để đưa tệp kết nối vào lớp PHP?

Tôi muốn bao gồm tệp cấu hình MySQL bên trong lớp PHP.

Chủ Đề