PHP MySQL hàm

Giới thiệu PHP MySQL

Các hàm MySQL cho phép bạn truy cập vào máy chủ cơ sở dữ liệu MySQL.

Cài đặt

Để có thể sử dụng các hàm của lớp này một cách suôn sẻ, bạn phải thêm hỗ trợ cho MySQL khi biên dịch PHP.

Khi biên dịch, chỉ cần sử dụng tùy chọn cấu hình --with-mysql[=DIR] là được, trong đó tùy chọn [DIR] chỉ đường dẫn cài đặt MySQL.

Mặc dù thư viện mở rộng MySQL này tương thích với các phiên bản MySQL 4.1.0 và sau này,但它 không hỗ trợ các tính năng bổ sung được cung cấp bởi các phiên bản này. Để sử dụng các tính năng này, vui lòng sử dụng thư viện mở rộng MySQLi.

Nếu bạn muốn cài đặt cùng lúc thư viện mở rộng mysql và mysqli, bạn phải sử dụng cùng một thư viện khách hàng để tránh bất kỳ xung đột nào.

Cài đặt trên hệ thống Linux

PHP 4

Tùy chọn --with-mysql được kích hoạt mặc định. Hành vi mặc định này có thể bị chặn bằng tùy chọn cấu hình --without-mysql. Nếu bạn kích hoạt MySQL mà không chỉ định thư mục cài đặt, PHP sẽ sử dụng thư viện kết nối khách hàng MySQL gắn kết.

Các ứng dụng khác sử dụng MySQL (ví dụ: auth-mysql) không nên sử dụng thư viện gắn kết mà nên chỉ định thư mục cài đặt MySQL, như thế này: --with-mysql=/path/to/mysql. Điều này sẽ buộc PHP sử dụng thư viện kết nối khách hàng được cài đặt cùng với MySQL, từ đó tránh được bất kỳ xung đột nào.

PHP 5+

MySQL mặc định chưa được kích hoạt và cũng không có thư viện MySQL gắn kết. Sử dụng tùy chọn cấu hình --with-mysql[=DIR] để thêm hỗ trợ cho MySQL. Bạn có thể từ MySQL Tải xuống các tệp đầu và thư viện.

Cài đặt trên hệ thống Windows

PHP 4

Mở rộng PHP MySQL đã được biên dịch vào PHP.

PHP 5+

MySQL mặc định chưa được kích hoạt, vì vậy bạn phải kích hoạt thư viện kết nối động php_mysql.dll trong tệp php.ini. Ngoài ra, PHP cần truy cập vào thư viện kết nối khách hàng MySQL. Phiên bản Windows của PHP bao gồm tệp libmysql.dll, để PHP có thể giao tiếp với MySQL, tệp này phải được đặt trong đường dẫn hệ thống PATH của Windows.

Để kích hoạt bất kỳ thư viện mở rộng PHP nào (ví dụ: php_mysql.dll), lệnh hướng dẫn extension_dir phải được thiết lập thành thư mục chứa thư viện mở rộng. Một ví dụ về giá trị extension_dir trong PHP 5 là c:\php\ext.

Ghi chú:Nếu khi khởi động máy chủ web xuất hiện lỗi tương tự như sau: "Unable to load dynamic library './php_mysql.dll'" thì nguyên nhân là hệ thống không tìm thấy php_mysql.dll và / hoặc libmysql.dll.

Cấu hình thời gian chạy

Hành vi của các hàm MySQL bị ảnh hưởng bởi các thiết lập trong php.ini.

Tùy chọn cấu hình MySQL:

Tên Mặc định Mô tả Có thể thay đổi
mysql.allow_persistent "1" Có cho phép kết nối bền vững của MySQL hay không. PHP_INI_SYSTEM
mysql.max_persistent "-1" Số lượng kết nối bền vững lớn nhất trong mỗi tiến trình. PHP_INI_SYSTEM
mysql.max_links "-1" Số lượng kết nối lớn nhất trong mỗi tiến trình, bao gồm kết nối bền vững. PHP_INI_SYSTEM
mysql.trace_mode "0" Chế độ theo dõi. Dung lượng từ PHP 4.3.0. PHP_INI_ALL
mysql.default_port NULL Đặt số cổng TCP mặc định kết nối cơ sở dữ liệu. PHP_INI_ALL
mysql.default_socket NULL Tên socket mặc định. Dung lượng từ PHP 4.0.1. PHP_INI_ALL
mysql.default_host NULL Địa chỉ máy chủ mặc định. Không áp dụng cho chế độ SQL an toàn. PHP_INI_ALL
mysql.default_user NULL Tên người dùng mặc định được sử dụng. Không áp dụng cho chế độ SQL an toàn. PHP_INI_ALL
mysql.default_password NULL Mật khẩu mặc định được sử dụng. Không áp dụng cho chế độ SQL an toàn. PHP_INI_ALL
mysql.connect_timeout "60" Giây chờ kết nối. PHP_INI_ALL

Loại tài nguyên

Trong mô-đun MySQL đã sử dụng hai loại tài nguyên. Loại đầu tiên là bộ xử lý kết nối cơ sở dữ liệu, loại thứ hai là tập kết quả trả về bởi truy vấn SQL.

PHP MySQL hàm

PHP:Chỉ ra phiên bản PHP sớm nhất hỗ trợ hàm này.

hàm Mô tả PHP
mysql_affected_rows() Lấy số lượng bản ghi được ảnh hưởng bởi 操作 được thực hiện gần đây nhất của MySQL. 3
mysql_change_user() Không khuyến khích. Thay đổi người dùng đăng nhập của kết nối hoạt động. 3
mysql_client_encoding() Trả về tên mã hóa của kết nối hiện tại. 4
mysql_close() Đóng kết nối MySQL không bền. 3
mysql_connect() Mở kết nối MySQL không bền. 3
mysql_create_db() Không khuyến khích. Tạo cơ sở dữ liệu MySQL mới. Sử dụng mysql_query() thay thế. 3
mysql_data_seek() Di chuyển con trỏ bản ghi. 3
mysql_db_name() Trả về tên cơ sở dữ liệu từ cuộc gọi mysql_list_dbs(). 3
mysql_db_query()

Không khuyến khích. Gửi một truy vấn MySQL.

Sử dụng mysql_select_db() và mysql_query() thay thế.

3
mysql_drop_db()

Không khuyến khích. Loại bỏ (xóa) một cơ sở dữ liệu MySQL.

Sử dụng mysql_query() thay thế.

3
mysql_errno() Trả về mã số lỗi số của 操作 được thực hiện gần đây nhất của MySQL. 3
mysql_error() Trả về thông tin lỗi văn bản của 操作 được thực hiện gần đây nhất của MySQL. 3
mysql_escape_string()

Không khuyến khích. Chuyển đổi một chuỗi để sử dụng với mysql_query.

Sử dụng mysql_real_escape_string() thay thế.

4
mysql_fetch_array() Lấy một hàng từ kết quả làm mảng liên quan, mảng số, hoặc cả hai. 3
mysql_fetch_assoc() Lấy một hàng từ kết quả làm mảng liên quan. 4
mysql_fetch_field() Lấy thông tin cột từ kết quả và trả về làm đối tượng. 3
mysql_fetch_lengths() Lấy độ dài của nội dung mỗi trường trong kết quả. 3
mysql_fetch_object() Lấy một hàng từ kết quả làm đối tượng. 3
mysql_fetch_row() Lấy một hàng từ kết quả làm mảng số. 3
mysql_field_flags() Lấy dấu hiệu liên quan đến trường được chỉ định từ kết quả. 3
mysql_field_len() Trả về độ dài của trường được chỉ định. 3
mysql_field_name() Lấy tên trường của trường cụ thể trong kết quả. 3
mysql_field_seek() Đặt con trỏ kết quả vào vị trí chệch cụ thể của trường. 3
mysql_field_table() Lấy tên bảng chứa trường cụ thể. 3
mysql_field_type() Lấy loại trường của trường cụ thể trong kết quả. 3
mysql_free_result() Phóng thích bộ nhớ kết quả. 3
mysql_get_client_info() Lấy thông tin khách hàng MySQL. 4
mysql_get_host_info() Lấy thông tin máy chủ MySQL. 4
mysql_get_proto_info() Lấy thông tin giao thức MySQL. 4
mysql_get_server_info() Lấy thông tin máy chủ MySQL. 4
mysql_info() Lấy thông tin của câu truy vấn gần đây nhất. 4
mysql_insert_id() Lấy ID được tạo bởi thao tác INSERT trước đó. 3
mysql_list_dbs() Liệt kê tất cả các cơ sở dữ liệu trong máy chủ MySQL. 3
mysql_list_fields()

Không ủng hộ. Liệt kê các trường trong kết quả MySQL.

Sử dụng mysql_query() thay thế.

3
mysql_list_processes() Liệt kê các tiến trình MySQL. 4
mysql_list_tables()

Không ủng hộ. Liệt kê các bảng trong cơ sở dữ liệu MySQL.

Sử dụng Use mysql_query() thay thế.

3
mysql_num_fields() Lấy số lượng trường trong kết quả. 3
mysql_num_rows() Lấy số lượng hàng trong kết quả. 3
mysql_pconnect() Mở một kết nối bền vững đến máy chủ MySQL. 3
mysql_ping() Ping một kết nối máy chủ, nếu không có kết nối thì kết nối lại. 4
mysql_query() Gửi một truy vấn MySQL. 3
mysql_real_escape_string() Chuyển mã các ký tự đặc biệt trong chuỗi được sử dụng trong câu SQL. 4
mysql_result() Lấy dữ liệu kết quả. 3
mysql_select_db() Chọn cơ sở dữ liệu MySQL. 3
mysql_stat() Lấy trạng thái hệ thống hiện tại. 4
mysql_tablename() Không ủng hộ. Lấy tên bảng. Sử dụng mysql_query() thay thế. 3
mysql_thread_id() Trả về ID của luồng hiện tại. 4
mysql_unbuffered_query() Gửi một truy vấn SQL đến MySQL (không lấy / lưu trữ kết quả). 4

Thường số PHP MySQL

Trong các phiên bản sau PHP 4.3.0, cho phép chỉ định thêm các dấu hiệu khách hàng trong hàm mysql_connect() và mysql_pconnect():

PHP:Biểu thị phiên bản PHP earliest hỗ trợ thường số này.

Thường số Mô tả PHP
MYSQL_CLIENT_COMPRESS Sử dụng giao thức truyền thông được nén. 4.3
MYSQL_CLIENT_IGNORE_SPACE Cho phép để trống không gian sau tên hàm. 4.3
MYSQL_CLIENT_INTERACTIVE Thời gian chờ tương tác không hoạt động được phép trước khi đóng kết nối. 4.3
MYSQL_CLIENT_SSL Sử dụng mã hóa SSL (chỉ có thể sử dụng khi phiên bản thư viện khách hàng MySQL là 4+). 4.3

Hàm mysql_fetch_array() sử dụng một thường số để biểu thị loại mảng được trả về:

Thường số Mô tả PHP
MYSQL_ASSOC Cột dữ liệu trả về sử dụng tên trường làm tên chỉ mục của mảng.  
MYSQL_BOTH Cột dữ liệu trả về sử dụng tên trường và chỉ số số làm tên chỉ mục của mảng.  
MYSQL_NUM

Cột dữ liệu trả về sử dụng chỉ số số để làm tên chỉ mục của mảng.

Chỉ số bắt đầu từ 0, biểu thị trường hợp đầu tiên của kết quả.