Việc thao tác với database trong quá trình phát triển và bảo trì website là công việc thường xuyên đối với những lập trình viên. Với mỗi database được tích hợp trong website thì chúng ta có nhiều cách thao tác khác nhau. Database thường được sử dụng nhiều khi kết hợp với PHP có thể kể đến MySQL. Trong bài học này, mình sẽ hướng dẫn các bạn thao tác với cơ sở dữ liệu MySQL bằng MySQLi.
Nội dung chính
Video Thao tác với cơ sở dữ liệu MySQL bằng MySQLi
Hướng dẫn chi tiết
Kết nối database
Chúng ta sẽ kết nối với database bằng hàm mysqli_connect. Hàm này cần 4 tham số
- hostname: nơi đặt database
- username: tên người dùng database
- password: mật khẩu người dùng database
- dbname: tên database
$connect = mysqli_connect("hostname", "username", "password", "dbname");
Khởi tạo database và tạo bảng
Các câu truy vấn hoàn toàn giống như khi chúng ta thao tác trên phpMyadmin
$sql = "CREATE TABLE `mysqli`.`user` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `username` VARCHAR(5) NULL DEFAULT NULL , `password` VARCHAR(5) NULL DEFAULT NULL , `email` VARCHAR(5) NULL DEFAULT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;"; mysqli_query($connect, $sql);
Thêm dữ liệu
Chúng ta sẽ thử thêm 1 vài dòng dữ liệu vào bảng user nhé.
$sql = "INSERT INTO `user`(`username`, `password`, `email`) VALUES ('def',123,123)"; mysqli_query($connect, $sql);
Truy vấn dữ liệu
Chúng ta sẽ thử lấy tất cả dữ liệu trong bảng nhé.
$sql = "SELECT * FROM `user`"; $query = mysqli_query($connect, $sql);
Các bạn thử var_dump biến $query, xem thử kết quả trả về như thế nào nhé.
Kết quả là trả về là 1 object chứ không phải những dòng dữ liệu chúng ta mong muốn. Để tách dữ liệu, chúng ta cần xử lý như sau:
$arr_kq = array(); if(mysqli_num_rows($query) > 0){ while($row = mysqli_fetch_assoc($query)){ // var_dump($row); // duyệt qua từng dòng và thêm vào mảng kết quả array_push($arr_kq, $row); } } else{ echo 'Khong co du lieu'; } mysqli_close($connect);
Trên w3school có hướng dẫn rất chi tiết về phần Select này. Ngoài cách trên, chúng ta còn một cách Select theo kiểu hướng đối tượng. Bạn xem thêm tại đây nhé: https://www.w3schools.com/php/php_mysql_select.asp
"Ra đời, cuộc sống bươm chải, có làm vẫn không có ăn" nên phải gắn QUẢNG CÁO Các bạn cần hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé. Link đăng ký: https://my.azdigi.com/aff.php?aff=1612 Nếu các bạn mua hosting từ link trên, mình sẽ có một ít tiền để duy trì. Cảm ơn
Sửa dữ liệu
$sql = "UPDATE `user` SET `username` = 'thui', `password` = '234' WHERE `user`.`id` = 2;"; mysqli_query($connect, $sql);
Xóa dữ liệu
$sql = "DELETE FROM `user` WHERE `user`.`id` = 2"; mysqli_query($connect, $sql);
Đóng kết nối
mysqli_close($connect);
Tài liệu bài học: Download
Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.