Trong bài viết này, chúng ta sẽ tìm hiểu về hàm mysqli_connect() và cách sử dụng nó để kết nối với cơ sở dữ liệu MySQL.
Hàm mysqli_connect là gì?
Trong thế giới lập trình web PHP, việc tương tác với cơ sở dữ liệu là một phần không thể thiếu. Để thực hiện điều này, chúng ta cần thiết lập kết nối an toàn và đáng tin cậy với cơ sở dữ liệu.
![](/pic/News/images/ham-mysql.jpg)
Định nghĩa và chức năng của hàm mysqli_connect()
Hàm mysqli_connect() là một hàm trong PHP được sử dụng để tạo một kết nối đến máy chủ MySQL. Nó là một phần của gói mysqli (MySQL Improved) Extension, là một gói mở rộng cải tiến cho việc kết nối và thao tác với cơ sở dữ liệu MySQL.
Hàm này có nhiệm vụ chính là thiết lập kết nối giữa ứng dụng PHP của bạn và máy chủ MySQL. Một khi kết nối được thiết lập thành công, bạn có thể thực hiện các truy vấn SQL để tạo, đọc, cập nhật và xóa dữ liệu trong cơ sở dữ liệu của mình.
Cú pháp của hàm mysqli_connect()
Cú pháp cơ bản của hàm mysqli_connect() như sau:
mysqli_connect($host, $username, $password, $dbname, $port, $socket)
Trong đó:
$host (bắt buộc): Địa chỉ máy chủ MySQL, thường là "localhost" nếu MySQL được cài đặt trên cùng máy.
$username (bắt buộc): Tên người dùng để đăng nhập vào MySQL.
$password (bắt buộc): Mật khẩu tương ứng với tên người dùng.
$dbname (tùy chọn): Tên cơ sở dữ liệu mà bạn muốn kết nối đến.
$port (tùy chọn): Cổng để kết nối đến máy chủ MySQL (mặc định là 3306).
$socket (tùy chọn): Đường dẫn tới ổ cắm Unix để kết nối với máy chủ MySQL.
Giá trị trả về của hàm mysqli_connect()
Hàm mysqli_connect() trả về một đối tượng mysqli nếu kết nối thành công, hoặc false nếu kết nối thất bại. Bạn có thể sử dụng đối tượng này để thực hiện các truy vấn SQL và tương tác với cơ sở dữ liệu.
Cách sử dụng hàm mysqli_connect()
Để sử dụng hàm mysqli_connect(), bạn cần thực hiện theo các bước sau:
Khai báo và khởi tạo các biến: Trước tiên, bạn cần khai báo và khởi tạo các biến chứa thông tin cần thiết để kết nối với cơ sở dữ liệu, bao gồm địa chỉ máy chủ, tên người dùng, mật khẩu và tên cơ sở dữ liệu.
$host = "localhost";
$username = "root";
$password = "123456";
$dbname = "mydatabase";
Tạo kết nối: Tiếp theo, bạn sử dụng hàm mysqli_connect() để tạo kết nối với cơ sở dữ liệu dựa trên các thông tin đã cung cấp.
$conn = mysqli_connect($host, $username, $password, $dbname);
Kiểm tra kết nối: Sau khi tạo kết nối, bạn nên kiểm tra xem kết nối có thành công hay không. Điều này có thể được thực hiện bằng cách kiểm tra giá trị trả về của hàm mysqli_connect(). Nếu giá trị trả về là false, có nghĩa là kết nối đã thất bại.
if (!$conn) {
die("Kết nối thất bại: " . mysqli_connect_error());
}
Nếu kết nối thành công, bạn có thể tiếp tục thực hiện các truy vấn SQL và xử lý dữ liệu.
Kết nối với cơ sở dữ liệu MySQL bằng hàm mysqli_connect()
Trong trường hợp MySQL được cài đặt trên cùng máy với ứng dụng PHP của bạn, việc kết nối sẽ rất đơn giản.
![](/pic/News/images/ket-noi-csdl.jpg)
Kết nối với máy chủ MySQL cục bộ
Bạn chỉ cần cung cấp thông tin đăng nhập và tên cơ sở dữ liệu.
$host = "localhost";
$username = "root";
$password = "";
$dbname = "mydatabase";
$conn = mysqli_connect($host, $username, $password, $dbname);
if (!$conn) {
die("Kết nối thất bại: " . mysqli_connect_error());
}
echo "Kết nối thành công!";
Trong ví dụ trên, chúng ta kết nối với cơ sở dữ liệu mydatabase trên máy chủ MySQL cục bộ (localhost) với tên người dùng root và không có mật khẩu.
Kết nối với máy chủ MySQL từ xa
Trong trường hợp máy chủ MySQL nằm trên một máy chủ khác, bạn cần cung cấp địa chỉ IP hoặc tên miền của máy chủ đó.
$host = "192.168.1.100";
$username = "myuser";
$password = "mypassword";
$dbname = "mydatabase";
$conn = mysqli_connect($host, $username, $password, $dbname);
if (!$conn) {
die("Kết nối thất bại: " . mysqli_connect_error());
}
echo "Kết nối thành công!";
Trong ví dụ này, chúng ta kết nối với cơ sở dữ liệu mydatabase trên máy chủ MySQL có địa chỉ IP 192.168.1.100, với tên người dùng myuser và mật khẩu mypassword.
Kết nối với máy chủ MySQL sử dụng cổng khác
Trong một số trường hợp, máy chủ MySQL có thể được cấu hình để lắng nghe trên một cổng khác ngoài cổng mặc định (3306). Trong trường hợp này, bạn cần cung cấp cổng khi kết nối.
$host = "localhost";
$username = "root";
$password = "";
$dbname = "mydatabase";
$port = 3307;
$conn = mysqli_connect($host, $username, $password, $dbname, $port);
if (!$conn) {
die("Kết nối thất bại: " . mysqli_connect_error());
}
echo "Kết nối thành công!";
Trong ví dụ này, chúng ta kết nối với cơ sở dữ liệu mydatabase trên máy chủ MySQL cục bộ (localhost), sử dụng tên người dùng root và không có mật khẩu, nhưng lắng nghe trên cổng 3307.
Một số ví dụ về việc sử dụng hàm mysqli_connect()
Kết nối với cơ sở dữ liệu và thực hiện truy vấn INSERT
$host = "localhost";
$username = "root";
$password = "";
$dbname = "mydatabase";
$conn = mysqli_connect($host, $username, $password, $dbname);
if (!$conn) {
die("Kết nối thất bại: " . mysqli_connect_error());
}
$sql = "INSERT INTO users (username, email, password) VALUES ('john_doe', 'john@example.com', 'mypassword')";
if (mysqli_query($conn, $sql)) {
echo "Dữ liệu đã được thêm thành công!";
} else {
echo "Lỗi: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
Trong ví dụ này, chúng ta kết nối với cơ sở dữ liệu mydatabase và thực hiện truy vấn INSERT để thêm một người dùng mới vào bảng users.
Kết nối với cơ sở dữ liệu và thực hiện truy vấn SELECT
$host = "localhost";
$username = "root";
$password = "";
$dbname = "mydatabase";
$conn = mysqli_connect($host, $username, $password, $dbname);
if (!$conn) {
die("Kết nối thất bại: " . mysqli_connect_error());
}
$sql = "SELECT * FROM users";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
echo "ID: " . $row["id"] . " - Tên: " . $row["username"] . " - Email: " . $row["email"] . "<br>";
}
} else {
echo "Không có dữ liệu";
}
mysqli_close($conn);
Trong ví dụ này, chúng ta kết nối với cơ sở dữ liệu mydatabase và thực hiện truy vấn SELECT để lấy dữ liệu từ bảng users. Sau đó, chúng ta in ra thông tin của mỗi người dùng.
Kết luận: hàm mysqli_connect() là một công cụ quan trọng trong thế giới lập trình PHP, giúp bạn thiết lập kết nối an toàn và đáng tin cậy với cơ sở dữ liệu MySQL. Trong bài viết này, chúng ta đã tìm hiểu về định nghĩa, cú pháp, giá trị trả về và cách sử dụng hàm mysqli_connect().