Bài 20: PHP – MySQL Database Connection
PHP cung cấp hàm mysql_connect để mở một kết nối database. Hàm này có 5 đối số và trả về một ID liên kết MySQL khi thành công hoặc FALSE khi thất bại. Cú pháp: mysql_connect(server, user, passwd, new_link, client_flag); No Đối số và mô tả 1 Server Tùy chọn – ...
PHP cung cấp hàm mysql_connect để mở một kết nối database. Hàm này có 5 đối số và trả về một ID liên kết MySQL khi thành công hoặc FALSE khi thất bại.
Cú pháp:
mysql_connect(server, user, passwd, new_link, client_flag);
No | Đối số và mô tả |
1 | Server Tùy chọn – host name đang chạy database server. Nếu không chỉ định thì mặc định nó lấy localhost:3306(mysql chạy trên port 3306) |
2 | user Tùy chọn − username truy cập database. Nếu không chỉ định thì mặc định tên của user sở hữu quá trình server. |
3 | passwd Tùy chọn − password của user truy cập database. Nếu không chỉ định thì mặc định là empty password. |
4 | new_link Tùy chọn – Nếu một giây gọi kết nối bằng mysql_connect() với cùng đối số thì không có kết nối mới sẽ được thiết lập, thay vào đó là ID của kết nối đã mở sẽ trả về. |
5 | client_flags Tùy chọn – Một sự kết hợp của các hằng số sau − · MYSQL_CLIENT_SSL – Sử dụng mã hóa SSL · MYSQL_CLIENT_COMPRESS – Sử dụng giao thức nén · MYSQL_CLIENT_IGNORE_SPACE – Cho khoảng trắng sau tên hàm · MYSQL_CLIENT_INTERACTIVE – Cho tương tác thời gian chờ không hoạt động trước khi đóng kết nối. Mặc định thì sau một thời gian không tương tác với db thì db sẽ thực hiện đóng kết nối, và đây chính là số giây bạn muốn nó đóng nếu không có tương tác. |
Lưu ý: Bạn có thể chỉ định server, user, passwd trong php.ini thay vì cấu hình trong script PHP lặp đi lặp lại. Mở file php.ini ra và tìm 3 dòng mysql.default_host, mysql.default_user, mysql.default_password đưa vào thông tin kết nối database của bạn.
Đóng Kết Nối Database
Hàm đơn giản mà PHP cung cấp để đóng kết nối database là mysql_close(). Hàm này trả về TRUE nếu thành công hoặc FALSE nếu thất bại.
Cú pháp: mysql_close( resource $link_identifier );
Nếu resource không chỉ định thì liên kết sau cùng của database đang mở sẽ bị đóng.
EX:
<?php
$dbhost = ‘localhost:3036’;//để localhost cũng ok, vì nó sẽ tự thêm port vào
$dbuser = ‘guest’;
$dbpass = ‘guest123’;
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die(‘Could not connect: ‘ . mysql_error());
}
echo ‘Connected successfully’;
mysql_close($conn);
?>
Tóm tắt bài học:
Bài học này chúng ta làm quen 2 hàm mở và đóng kết nối MySQL Database từ script PHP.
Hàm kết nối chúng ta thường chỉ sử dụng 3 đối số chính yếu là host, user và password. Tùy vào user của database được tạo ra như thế nào thì bạn sẽ có quyền thao tác db tương ứng. Nếu bạn sử dụng user root thì sẽ được toàn quyền trên database.
Sau khi kết nối database để thao tác, thì sau script phải thực hiên đóng kết nối, để giảm tải kết nối cho database và phải cho vào thông tin của biến kết nối, nhằm tránh đóng kết nối của người khác. Như ví dụ bạn thấy ta truyền $conn vào hàm mysql_close để chỉ định đóng kết nối. Nếu không như mô tả thì nó sẽ đóng kết nối sau cùng nhất, mà kết nối sau cùng chắc gì là của bạn.