Bài này hướng dẫn bạn tạo bảng MySQL trong PHP bằng cách sử dụng MySQLi và PDO.
Câu lệnh CREATE TABLE được sử dụng để tạo bảng trong MySQL.
Dưới đây là cú pháp MySQL để tạo một bảng có tên là "MyGuests", với năm cột: "id", "firstname", "lastname", "email" và "reg_date":
CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )
Các ví dụ sau đây cho thấy cách tạo bảng trong PHP:
Ví dụ (MySQLi hướng đối tượng)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // tạo kết nối $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // chuẩn bị câu lệnh sql để tạo bảng $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )"; if ($conn->query($sql) === TRUE) { echo "Table MyGuests created successfully"; } else { echo "Error creating table: " . $conn->error; } $conn->close(); ?>
Ví dụ (MySQLi hướng thủ tục)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // tạo kết nối $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // chuẩn bị câu lệnh sql để tạo bảng $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )"; if (mysqli_query($conn, $sql)) { echo "Table MyGuests created successfully"; } else { echo "Error creating table: " . mysqli_error($conn); } mysqli_close($conn); ?>
Ví dụ (PDO)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // chuẩn bị câu lệnh sql để tạo bảng $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )"; // sử dụng exec() vì không có kết quả nào được trả về $conn->exec($sql); echo "Table MyGuests created successfully"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>