Hướng dẫn dùng mysql help trong PHP

  • Trang chủ
  • Hướng dẫn học
  • Học PHP
  • Kết nối MySQL

Kết nối MySQL

  • Kết nối PHP & MySQL là bước cơ bản khi bạn muốn bất kỳ thao tác nào liên quan đến MySQL.
  • Từ phiên bản PHP 5.5 trở đi, thư viện MySQL sẽ không còn được hỗ trợ, và phiên bản PHP 7 trở lên đã gỡ bỏ hoàn toàn thư viện MySQL, thay vào đó 2 thư viện khác được sử dụng là MySQLi và PDO.
  • Trong phạm vi của phần hướng dẫn PHP này chỉ đề cập đến MySQLi, vì cấu trúc và các viết tương tự như thư viện MySQL trước đó.
  • MySQLi có 2 lựa chọn cách viết khác nhau:

    • Theo kiểu thủ tục: viết giống như MySQL chỉ khác là thay đổi mysql thành mysqli.
    • Theo kiểu hướng đối tượng

Một số hàm cơ bản MySQLi sử dụng trong phần hướng dẫn học này:

Kiểu thủ tục
(Procedural)
Kiểu hướng đối tượng
(Object-Oriented)
Mô tả
$ketnoi = mysqli_connect() $ketnoi = new mysqli() Tạo kết nối database
mysqli_connect_error() $ketnoi->connect_error Lỗi kết nối
mysqli_close($ketnoi) $ketnoi->close() Ngắt kết nối MySQLi
$ketqua = mysqli_query($ketnoi, $sql) $ketqua = $ketnoi->query($sql) Truy vấn table từ $ketnoi
Với $sql là câu truy vấn select
mysqli_num_rows($ketqua) $ketqua->num_rows Số lượng số hàng có trong table.
mysqli_fetch_assoc($ketqua) $ketqua->fetch_assoc() Số lượng số hàng có trong table.

Kết nối MySQLi

Nếu chưa biết về cách tạo database và thông tin kết nối thì bạn có thể xem lại cách tạo từ phpMyAdmin.

Nếu chưa biết file PHP được tạo ở đâu thì bạn có thể xem lại Thư mục làm việc khi cài XAMPP.

Kiểu hướng đối tượng

<?php
$username = "user_tintuc"; // Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = new mysqli($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if ($connect->connect_error) {
    die("Không kết nối :" . $conn->connect_error);
    exit();
}
echo "Khi kết nối thành công sẽ tiếp tục dòng code bên dưới đây."
?>

Kiểu thủ tục

<?php
$username = "user_tintuc"; // Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = mysqli_connect($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if (!$connect) {
    die("Không kết nối :" . mysqli_connect_error());
    exit();
}
echo "Khi kết nối thành công sẽ tiếp tục dòng code bên dưới đây."
?>

Nếu không xảy ra lỗi kết nối thì trình duyệt sẽ hiển thị như bên dưới.

Khi kết nối thành công sẽ tiếp tục dòng code bên dưới đây.

Download file ví dụ

Trong file download đã có sẵn file tintuc.sql, file này là file dữ liệu mẫu, sau khi đã tạo database chúng ta có thể đưa dữ liệu từ file tintuc.sql bằng thao tác import có trong phpMyAdmin.

  • Trang chủ
  • Hướng dẫn học
  • Học PHP
  • PHP insert dữ liệu vào MySQL thông qua form

PHP insert dữ liệu vào MySQL thông qua form

  • Bài trước đã hướng dẫn cách thêm dữ liệu bằng câu lệnh MySQL, bài này sẽ hướng dẫn cách kết hợp với form để insert dữ liệu.
  • Dữ liệu có thể là _GET hay _POST, tùy vào độ bảo mật của dữ liệu, xem lại _GET và P_OST
  • Các bước thực hiện:

    • Tạo form insert dữ liệu.
    • Kết nối database và table.
    • Lấy dữ liệu post từ form
    • Xử lý dữ liệu.
    • Đóng database.
  • Nếu chưa biết cách lấy dữ liệu từ form thì bạn xem lại phần xử lý form

Form dữ liệu

<form action="" method="post">
    <table>
        <tr>
            <th>Tiêu đề:</th>
            <td><input type="text" name="title" value=""></td>
        </tr>

        <tr>
            <th>Ngày tháng:</th>
            <td><input type="date" name="date" value=""></td>
        </tr>

        <tr>
            <th>Mô tả:</th>
            <td><input type="text" name="description" value=""></td>
        </tr>

        <tr>
            <th>Nội dung:</th>
            <td><textarea cols="30" rows="7" name="content"></textarea></td>
        </tr>
    </table>
    <button type="submit">Gửi</button>
</form>

Xử lý dữ liệu insert

Kiểu hướng đối tượng

<?php
$username = "user_tintuc"; // Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = new mysqli($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if ($connect->connect_error) {
    die("Không kết nối :" . $conn->connect_error);
    exit();
}

//Khai báo giá trị ban đầu, nếu không có thì khi chưa submit câu lệnh insert sẽ báo lỗi
$title = "";
$date = "";
$description = "";
$content = "";

//Lấy giá trị POST từ form vừa submit
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if(isset($_POST["title"])) { $title = $_POST['title']; }
    if(isset($_POST["date"])) { $date = $_POST['date']; }
    if(isset($_POST["description"])) { $description = $_POST['description']; }
    if(isset($_POST["content"])) { $content = $_POST['content']; }

    //Code xử lý, insert dữ liệu vào table
    $sql = "INSERT INTO tin_xahoi (title, date, description, content)
    VALUES ('$title', '$date', '$description', '$content')";

    if ($connect->query($sql) === TRUE) {
        echo "Thêm dữ liệu thành công";
    } else {
        echo "Error: " . $sql . "<br>" . $connect->error;
    }
}
//Đóng database
$connect->close();
?>

<form action="" method="post">
    <table>
        <tr>
            <th>Tiêu đề:</th>
            <td><input type="text" name="title" value=""></td>
        </tr>

        <tr>
            <th>Ngày tháng:</th>
            <td><input type="date" name="date" value=""></td>
        </tr>

        <tr>
            <th>Mô tả:</th>
            <td><input type="text" name="description" value=""></td>
        </tr>

        <tr>
            <th>Nội dung:</th>
            <td><textarea cols="30" rows="7" name="content"></textarea></td>
        </tr>
    </table>
    <button type="submit">Gửi</button>
</form>

  • Nếu không xảy ra lỗi gì, dữ liệu được insert thì sẽ xuất câu thông báo như trên.

Kiểu thủ tục

<?php
$username = "user_tintuc"; // Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = mysqli_connect($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if (!$connect) {
    die("Không kết nối :" . mysqli_connect_error());
    exit();
}

//Khai báo giá trị ban đầu, nếu không có thì khi chưa submit câu lệnh insert sẽ báo lỗi
$title = "";
$date = "";
$description = "";
$content = "";

//Lấy giá trị POST từ form vừa submit
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if(isset($_POST["title"])) { $title = $_POST['title']; }
    if(isset($_POST["date"])) { $date = $_POST['date']; }
    if(isset($_POST["description"])) { $description = $_POST['description']; }
    if(isset($_POST["content"])) { $content = $_POST['content']; }

    //Code xử lý, insert dữ liệu vào table
    $sql = "INSERT INTO tin_xahoi (title, date, description, content)
    VALUES ('$title', '$date', '$description', '$content')";

    if (mysqli_query($connect, $sql)) {
        echo "Thêm dữ liệu thành công";
    } else {
        echo "Error: " . $sql . "<br>" . mysqli_error($connect);
    }
}

//Đóng database
mysqli_close($connect);
?>

<form action="" method="post">
    <table>
        <tr>
            <th>Tiêu đề:</th>
            <td><input type="text" name="title" value=""></td>
        </tr>

        <tr>
            <th>Ngày tháng:</th>
            <td><input type="date" name="date" value=""></td>
        </tr>

        <tr>
            <th>Mô tả:</th>
            <td><input type="text" name="description" value=""></td>
        </tr>

        <tr>
            <th>Nội dung:</th>
            <td><textarea cols="30" rows="7" name="content"></textarea></td>
        </tr>
    </table>
    <button type="submit">Gửi</button>
</form>

Download file ví dụ

Trong file download đã có sẵn file tintuc.sql, file này là file dữ liệu mẫu, sau khi đã tạo database chúng ta có thể đưa dữ liệu từ file tintuc.sql bằng thao tác import có trong phpMyAdmin.