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

Một cơ sở dữ liệu có thể bao gồm một hoặc nhiều bảng.

Bạn sẽ cần đặc quyền CREATE để tạo hoặc xoá cơ sở dữ liệu MySQL.

Tạo cơ sở dữ liệu MySQL sử dụng MySQLi và PDO

Lệnh CREATE DATABASE sử dụng để tạo cơ sở dữ liệu trong MySQL.

Các ví dụ dưới đây tạo một cơ sở dữ liệu có tên “myDB”:

Ví dụ (MySQLi hướng đối tượng)

<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";

// Create connection
 $conn = new mysqli($servername, $username, $password);
 // Check connection
 if ($conn->connect_error) {
 die("Connection failed: " . $conn->connect_error);
 }

// Create database
 $sql = "CREATE DATABASE myDB";
 if ($conn->query($sql) === TRUE) {
 echo "CSDL duoc tao thanh cong";
 } else {
 echo "Co loi khi tao CSDL: " . $conn->error;
 }

$conn->close();
 ?>

Chú ý: Khi bạn tạo một cơ sở dữ liệu mới, bạn sẽ chỉ định ba đối số đầu tiên cho đối tượng mysqli (servername, username và password).

Mẹo: Nếu bạn sử dụng cổng chỉ định, thêm một chuỗi rỗng cho tên cơ sở dữ liệu, giống như thế này: 

new mysqli("localhost", "username", "password", "", port)

Ví dụ (MySQLi Thủ tục)

<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";

// Tạo kết nối
 $conn = mysqli_connect($servername, $username, $password);

// Kiểm tra kết nối
 if (!$conn) {
 die("Connection failed: " . mysqli_connect_error());
 }

// Tạo cơ sở dữ liệu
 $sql = "CREATE DATABASE myDB";
 if (mysqli_query($conn, $sql)) {

echo "Cơ sở dữ liệu được tạo thành công";
 } else {
 echo "Tạo cơ sở dữ liệu bị lỗi: " . mysqli_error($conn);
 }

mysqli_close($conn);
 ?>

Chú ý: Ví dụ PDO sau đây tạo một cơ sở dữ liệu tên là “myDBPDO”:

Ví dụ (PDO)

<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";

try {
 $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);

// Thiết lập các chế độ lỗi PDO để ngoại lệ
 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 $sql = "CREATE DATABASE myDBPDO";

// sử dụng exec() bởi vì không có kết quả nào trả về 
 $conn->exec($sql);
 echo "Cơ sở dữ liệu được tạo thành công<br>";
 }

catch(PDOException $e)
 {
 echo $sql . "<br>" . $e->getMessage();
 }

$conn = null;
 ?>

Mẹo: Một lợi ích lớn của PDO là nó có lớp ngoại lệ để xử lý bất kỳ vấn đề nào có thể xảy ra trong các truy vấn cơ sở dữ liệu của chúng ta. Nếu một ngoại lệ được ném ra bên trong khối try{}, kịch bản ngừng thực thi và đổ trực tiếp để bắt đầu khối catch(). Trong khối catch trên chúng ta xuất ra câu lệnh SQL và các thông báo lỗi được tạo ra.

Leave a Comment