Kể từ PHP 5. 5, tiện ích mở rộng mysql_connect[] không được dùng nữa. Bây giờ nên sử dụng một trong 2 lựa chọn thay thế
- mysqli_connect[]
- PDO. __xây dựng[]
PHP mysqli_connect[]
Hàm mysqli_connect[] trong PHP dùng để kết nối với cơ sở dữ liệu MySQL. Nó trả về tài nguyên nếu kết nối được thiết lập hoặc null
cú phápPHP mysqli_close[]
Hàm mysqli_close[] trong PHP dùng để ngắt kết nối với cơ sở dữ liệu MySQL. Nó trả về true nếu kết nối bị đóng hoặc sai
Để lưu trữ hoặc truy cập dữ liệu bên trong cơ sở dữ liệu MySQL, trước tiên bạn cần kết nối với máy chủ cơ sở dữ liệu MySQL. PHP cung cấp hai cách khác nhau để kết nối với máy chủ MySQL. Phần mở rộng MySQLi [MySQL cải tiến] và PDO [Đối tượng dữ liệu PHP]
Mặc dù tiện ích mở rộng PDO dễ mang theo hơn và hỗ trợ hơn mười hai cơ sở dữ liệu khác nhau, nhưng tiện ích mở rộng MySQLi như tên gợi ý chỉ hỗ trợ cơ sở dữ liệu MySQL. Tuy nhiên, tiện ích mở rộng MySQLi cung cấp một cách dễ dàng hơn để kết nối và thực hiện các truy vấn trên máy chủ cơ sở dữ liệu MySQL. Cả PDO và MySQLi đều cung cấp API hướng đối tượng, nhưng MySQLi cũng cung cấp API thủ tục tương đối dễ hiểu đối với người mới bắt đầu
Mẹo. Tiện ích mở rộng MySQLi của PHP cung cấp cả lợi ích về tốc độ và tính năng so với tiện ích mở rộng PDO, vì vậy nó có thể là lựa chọn tốt hơn cho các dự án dành riêng cho MySQL
Kết nối với máy chủ cơ sở dữ liệu MySQL
Trong PHP, bạn có thể dễ dàng thực hiện việc này bằng cách sử dụng hàm mysqli_connect[]
. Tất cả giao tiếp giữa PHP và máy chủ cơ sở dữ liệu MySQL diễn ra thông qua kết nối này. Dưới đây là các cú pháp cơ bản để kết nối với MySQL bằng các phần mở rộng MySQLi và PDO
cú pháp. MySQLi, cách thủ tục
$link = mysqli_connect["tên máy chủ", "tên người dùng", "mật khẩu", "cơ sở dữ liệu"];
cú pháp. MySQLi, cách hướng đối tượng
$mysqli = new mysqli["tên máy chủ", "tên người dùng", "mật khẩu", "cơ sở dữ liệu"];
cú pháp. Cách đối tượng dữ liệu PHP [PDO]
$pdo = PDO mới["mysql. máy chủ=tên máy chủ;dbname=cơ sở dữ liệu", "tên người dùng", "mật khẩu"];
Tham số tên máy chủ trong cú pháp trên chỉ định tên máy chủ [e. g. localhost
] hoặc địa chỉ IP của máy chủ MySQL, trong khi tham số tên người dùng và mật khẩu chỉ định thông tin xác thực để truy cập máy chủ MySQL và tham số cơ sở dữ liệu, nếu được cung cấp, sẽ chỉ định cơ sở dữ liệu MySQL mặc định được sử dụng khi thực hiện truy vấn
Ví dụ sau đây cho thấy cách kết nối với máy chủ cơ sở dữ liệu MySQL bằng MySQLi [cả hướng thủ tục và hướng đối tượng] và phần mở rộng PDO
Thí dụ
PDO hướng đối tượng thủ tục
Tải xuốngconnect_error];
}
// Print host information
echo "Connect Successfully. Host info: " . $mysqli->host_info;
?>
setAttribute[PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION];
// Print host information
echo "Connect Successfully. Host info: " .
$pdo->getAttribute[constant["PDO::ATTR_CONNECTION_STATUS"]];
} catch[PDOException $e]{
die["ERROR: Could not connect. " . $e->getMessage[]];
}
?>
Ghi chú. Tên người dùng mặc định cho máy chủ cơ sở dữ liệu MySQL là root
và không có mật khẩu. Tuy nhiên để cơ sở dữ liệu của bạn không bị xâm nhập và truy cập trái phép bạn nên đặt mật khẩu cho tài khoản MySQL
Mẹo. Đặt thuộc tính PDO::ATTR_ERRMODE
thành
connect_error];
}
// Print host information
echo "Connect Successfully. Host info: " . $mysqli->host_info;
?>
0 yêu cầu PDO ném ngoại lệ bất cứ khi nào xảy ra lỗi cơ sở dữ liệuĐóng kết nối máy chủ cơ sở dữ liệu MySQL
Kết nối đến máy chủ cơ sở dữ liệu MySQL sẽ tự động đóng ngay sau khi quá trình thực thi tập lệnh kết thúc. Tuy nhiên, nếu bạn muốn đóng nó sớm hơn, bạn có thể thực hiện việc này bằng cách gọi hàm PHP
connect_error];
}
// Print host information
echo "Connect Successfully. Host info: " . $mysqli->host_info;
?>
1 MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở [RDBMS]. Đây là hệ thống cơ sở dữ liệu phổ biến nhất được sử dụng với PHP
Ngôn ngữ truy vấn có cấu trúc [SQL]. Dữ liệu trong cơ sở dữ liệu MySQL được lưu trữ trong các bảng bao gồm các cột và hàng
MySQL là một hệ thống cơ sở dữ liệu chạy trên máy chủ. MySQL là lý tưởng cho cả ứng dụng nhỏ và lớn. MySQL là một hệ thống cơ sở dữ liệu rất nhanh, đáng tin cậy và dễ sử dụng. Nó sử dụng SQL tiêu chuẩn. MySQL biên dịch trên một số nền tảng
Làm thế nào chúng ta có thể kết nối PHP với MySQL?
PHP 5 trở lên có thể hoạt động với cơ sở dữ liệu MySQL bằng cách sử dụng
- Tiện ích mở rộng MySQLi ['i' là viết tắt của cải tiến]
- PDO [Đối tượng dữ liệu PHP]
Cái nào chúng ta nên sử dụng MySQLi hoặc PDO?
Cả MySQLi và PDO đều có phần thưởng của họ
- PDO sẽ hoạt động với 12 hệ thống cơ sở dữ liệu khác nhau, trong khi MySQLi sẽ chỉ hoạt động với cơ sở dữ liệu MySQL
- Vì vậy, nếu bạn phải chuyển dự án của mình sang sử dụng cơ sở dữ liệu thay thế, PDO sẽ giúp quá trình này trở nên dễ dàng. Bạn chỉ phải thay đổi chuỗi kết nối và một vài truy vấn. Với MySQLi, bạn sẽ cần phải viết lại mã hoàn chỉnh — bao gồm các truy vấn
- Cả hai đều hướng đối tượng, nhưng MySQLi cũng cung cấp API thủ tục
Nói tóm lại, bạn có thể chọn bất cứ thứ gì bạn muốn nếu bạn muốn gắn bó với MySQL nếu không thì bạn nên sử dụng PDO
Kết nối với MySQL bằng MySQLi
PHP cung cấp hàm mysql_connect[] để mở kết nối cơ sở dữ liệu
Hàm này nhận một tham số duy nhất, đó là một kết nối được trả về bởi hàm mysql_connect[]
Bạn có thể ngắt kết nối khỏi cơ sở dữ liệu MySQL bất kỳ lúc nào bằng một hàm PHP khác mysql_close[]
Ngoài ra còn có một cách tiếp cận theo thủ tục của MySQLi để thiết lập kết nối với cơ sở dữ liệu MySQL từ tập lệnh PHP