Bài 17: Tạo cơ sở dữ liệu với MySQL trong PHP

Bài 17: Tạo cơ sở dữ liệu với MySQL trong PHP

Đối với lập trình PHP thì chắc chắn không thể thiếu cơ sở dữ liệu MySQL được rồi.

Nếu không có cơ sở dữ liệu thì website của bạn chỉ là trang tĩnh, muốn sửa chữa hay cập nhật chắc chắn bạn phải vào code để sửa rồi.

Như ở bài hường dẫn cài đặt XAMPP trên Windows 10 thì sonnguyenaz.com đã hướng dẫn các bạn cài đặt phpMyadmin rồi các bạn có thể xem lại.

Tạo cở sở dữ liệu MySQL trong PHP

Để tạo cơ sở dữ liệu thì chúng ta có thể tạo trực quan ngay trên phpMyadmin hoặc dùng code PHP để tạo.

Ngoài ra để có sẵn file SQL thì bạn có thể import vào cũng được.

Ở bài viết này mình sẽ hướng dẫn tạo cơ sở dữ liệu bằng PHP nhé

Tạo cơ sở dự liệu bằng code PHP

Kết nối PHP với MySQL

Lưu ý: khi tạo file kết nối bạn phải để tên file có đuôi là *.php nhé, ở đây mình sẽ đặt là file connect.php cho dễ nhớ.

Khi khởi tạo kết nối thì 3 cái cần phải có đó là thông tin: host, tài khoản truy cập và mật khẩu của phpMyadmin

Ở đây mình có:

  • Host: ‘localhost’
  • User: ‘root’
  • Password: ‘sonnguyenaz’

Kết nối PHP với MySQL bằng MySQLi

<?php
// Tạo kết nối
$con = new mysqli('localhost', 'root', 'sonnguyenaz');
// kiểm tra kết nối
if ($con->connect_error) {
    die("Kết nối thất bại: " . $con->connect_error);
} 
?>

Tạo file kết nối xong bạn chạy thử lên xem nếu không báo gì thì kết nối của bạn đã thành công nhé, còn hiển thị thông báo thì bạn xem nó thông báo lỗi gì để biết mà xử lý.

Ví dụ: ở đây mình cố tình để sai mật khẩu, thì khi chạy nó sẽ thông báo như sau:

loi-ket-noi-co-so-du-lieu-mysql-voi-php

Kết nối PHP với MySQL bằng PDO

<?php
// Thiết lập kết nối
try {
    // Tạo kết nối
    $con = new PDO("mysql:host=localhost;", 'root', 'sonnguyenaz');
    // Chế độ lỗi
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // Kết nối thành công
    echo "Kết nối thành công";
} 
// Nếu thất bại show lỗi
catch (PDOException $e) {
    echo "Kết nối thất bại: " . $e->getMessage();
}
?>

Lưu ý: Ở đây mình sẽ sử dụng kết nối cơ sở dữ liệu băng PDO để hướng dẫn các bạn.

Mình khuyên là các bạn nên chọn PDO vì nó có thể kết nối được với nhiều hệ quản trị cơ sở dữ liệu khác nhau chứ không riêng MySQL.

Tạo database bằng PHP

Tiếp tục khi bạn kết nối xong, để làm việc với cơ sở dữ liệu thì chắc chắn bạn phải tạo 1 database để kết nối rồi.

Bây giờ mình sẽ tạo 1 file PHP để thực thi câu lệnh tạo database, file đặt tên là create_database.php

<?php
require 'connect.php';
//truy vấn tạo database trong MySQL
$sql = "CREATE DATABASE duan_test";

// Thực thi câu lệnh truy vấn
$con->exec($sql);

// Thông báo thành công
echo "Tạo database thành công";

// Ngắt kết nối
$con = null;
?>

Như bài 15 mình đã hướng dẫn lệnh require và include để import file php rồi.

  • Đầu tiên ta sẽ import file connect.php đã tạo ở trên vào để kết nối cơ sở dữ liệu trước..
  • Sau đó dung câu lệnh truy vấn trong MySQL để tạo database có tên là ‘duan_test‘.
  • Để biết thành công hay chưa thì bạn có thể kiểm tra ngay trên phpMyadmin.
  • Sau khi truy vấn xong thì bạn nên đóng kết nối cơ sở dữ liệu nhé.

Kết quả là:

tao-database-voi-php-thanh-cong

Tạo database table bằng PHP

Ở trên ta đã tạo được cơ sở dữ liệu database là duan_test bây giờ chúng ta có thể thêm vào lệnh kết nối:

dbname=duan_test

File connect.php sẽ thêm vào như sau:

<?php
// Thiết lập kết nối
try {
    // Tạo kết nối
    $con = new PDO("mysql:host=localhost;dbname=duan_test", 'root', 'sonnguyenaz');
    // Chế độ lỗi
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // Kết nối thành công
    echo "Kết nối thành công";
} 
// Nếu thất bại show lỗi
catch (PDOException $e) {
    echo "Kết nối thất bại: " . $e->getMessage();
}
?>

Bây giờ chúng ta sẽ tạo tiếp 1 file create_table.php như sau:

<?php
    //tạo kết nối cơ sở dữ liệu database duan_test    
    require 'connect.php';

    // Câu lệnh truy vấn tạo database table
    $sql = "CREATE TABLE `duan_test`.`users` 
 	(`id` INT(5) NULL DEFAULT NULL AUTO_INCREMENT , 
	`full_name` VARCHAR(200) NULL DEFAULT NULL , 
	`user_name` VARCHAR(200) NULL DEFAULT NULL , 
	`password` VARCHAR(200) NULL DEFAULT NULL , 
	`email` VARCHAR(200) NULL DEFAULT NULL , 
	`phone_number` VARCHAR(11) NULL DEFAULT NULL , 
	PRIMARY KEY (`id`)) ENGINE = InnoDB;";
 
    // Thực thi câu lệnh truy vấn
    $con->exec($sql);
     
    echo "Tạo database table thành công";

    // đóng kết nối database
    $con = null;
?>

Giải thích:

  • Bước đầu tiên ta import file connect.php vào để tạo kết nối cơ sở dữ liệu duan_test
  • Tiếp theo ta tạo câu lệnh truy vấn để tạo cơ sở dữ liệu table với các cột là: id là khóa chính và auto tăng lên một đơn vị khi được insert vào, full_name, user_name, password, email, phone_number.
  • Bước tiếp theo thực thi câu lệnh và đóng kết nối database.

Kết quả là table mới đã được tạo trên database duan_test:

tao-database-table-voi-php-thanh-cong

Lời kết

Như vậy ở bài hướng dẫn này mình đã giới thiệu và lấy ví dụ cụ thể về cách kết nối PHP với cơ sở dữ liệu, cách để tạo database, table.

Các bạn cần biết thêm thông tin gì thì cứ bình luận xuống bên dưới để được hỗ trợ nhé.

Cảm ơn các bạn đã quan tâm theo dõi bài học này.

Rate this post

sonnguyen

Là một nhân viên IT thích chia sẻ những gì mình biết đến tất cả mọi người. Hi vọng được mọi người ủng hộ, nếu có gì sai sót mong các bạn comment xuống dưới để mình khắc phục. Cảm ơn mọi người!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *