PHP VÀ MYSQL
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Bài 09: Select dữ liệu MySQL bằng PHP

Câu lệnh select thường dùng để lấy dữ liệu và hiển thị lên website ở cả frontend lẫn backend, đây là câu lệnh thông dụng hay sử dụng nhất trong một website.

Trong MySQL để lấy danh sách records trong một bảng dữ liệu thì ta sử dụng lệnh select với cú pháp:

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

SELECT field1, field2 FROM table_name

Bên cạnh đó ta cũng có sử dụng thêm điều kiện where và limit để giới hạn kết quả trả về. Như vậy việc lấy danh sách dữ liệu trong MySQL  bằng PHP thực chất là ta sử dụng PHP để chạy câu truy vấn SQL.

Bây giờ chúng ta cùng tìm hiểu các thao tác lấy dữ liệu với MySQLi.

1. Select data với MySQLi

Chúng ta có hai cách sử dụng đó là sử dụng đối tượng và hàm truyền thống.

Sử dụng MySQLi Object-oriented:

// Kết nối CSDL
$conn = new mysqli('localhost', 'root', 'vertrigo', 'FreetutsDemo');

// Kiểm tra kết nối
if ($conn->connect_error) {
    die("Kết nối thất bại: " . $conn->connect_error);
} 

// Câu SQL lấy danh sách
$sql = "SELECT id, title, content FROM News";

// Thực thi câu truy vấn và gán vào $result
$result = $conn->query($sql);

// Kiểm tra số lượng record trả về có lơn hơn 0
// Nếu lớn hơn tức là có kết quả, ngược lại sẽ không có kết quả
if ($result->num_rows > 0) 
{
    // Sử dụng vòng lặp while để lặp kết quả
    while($row = $result->fetch_assoc()) {
        echo "title: " . $row["title"]. " - Content: " . $row["content"]."<br>";
    }
} 
else {
    echo "Không có record nào";
}

// ngắt kết nối
$conn->close();

Sử dụng MySQLi Procedural:

// Kết nối CSDL
$conn = mysqli_connect('localhost', 'root', 'vertrigo', 'FreetutsDemo');

// Kiểm tra kết nối
if (!$conn) {
    die("Kết nối thất bại: " . mysqli_connect_error());
}

// Câu SQL lấy danh sách
$sql = "SELECT id, title, content FROM News";

// Thực thi câu truy vấn và gán vào $result
$result = mysqli_query($conn, $sql);

// Kiểm tra số lượng record trả về có lơn hơn 0
// Nếu lớn hơn tức là có kết quả, ngược lại sẽ không có kết quả
if (mysqli_num_rows($result) > 0) 
{
    // Sử dụng vòng lặp while để lặp kết quả
    while($row = mysqli_fetch_assoc($result)) {
        echo "title: " . $row["title"]. " - Content: " . $row["content"]. "<br>";
    }
} 
else {
    echo "Không có record nào";
}

// ngắt kết nối
mysqli_close($conn);

2. Select data với PDO

Chúng ta sẽ sử dụng cơ chế Prepared để truy vấn CSDL.

try {
    // Kết nối CSDL
    $conn = new PDO("mysql:host=localhost;dbname=FreetutsDemo", 'root', 'vertrigo');
    
    // Khai báo exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    // Sử đụng Prepare 
    $stmt = $conn->prepare("SELECT id, title, content FROM News"); 
    
    // Thực thi câu truy vấn
    $stmt->execute();

    // Khai báo fetch kiểu mảng kết hợp
    $stmt->setFetchMode(PDO::FETCH_ASSOC); 
    
    // Lấy danh sách kết quả
    $result = $stmt->fetchAll();
    
    // Lặp kết quả
    foreach ($result as $item){
        echo $item['title'] . ' - '. $item['content'];
    }
}
catch(PDOException $e) {
    echo "Lỗi: " . $e->getMessage();
}

// Ngắt kết nối
$conn = null;

3. Lời kết

Sau khi có kết quả trả về thì chúng ta sẽ kết hợp với giao diện HTML để hiển thị ra bên ngoài website. Công đoạn này phụ thuộc vào từng layout nên mình không đưa ra ví dụ minh họa.

Bài tiếp theo chúng ta sẽ học cách thực hiện lệnh delete dữ liệu với PHP.

Tổng hợp dữ liệu trong bài:

Cùng chuyên mục:

Hàm key_exists() trong PHP

Hàm key_exists() trong PHP

Cách sử dụng key_exists() trong PHP

Hàm mysqli_fetch_row() trong PHP

Hàm mysqli_fetch_row() trong PHP

Cách sử dụng mysqli_fetch_row() trong PHP

Hàm end() trong PHP

Hàm end() trong PHP

Cách sử dụng end() trong PHP

Hàm mysqli_field_count() trong PHP

Hàm mysqli_field_count() trong PHP

Cách sử dụng mysqli_field_count() trong PHP

Hàm count() trong PHP

Hàm count() trong PHP

Cách sử dụng count() trong PHP

Hàm mysqli_field_seek() trong PHP

Hàm mysqli_field_seek() trong PHP

Cách sử dụng mysqli_field_seek() trong PHP

Hàm compact() trong PHP

Hàm compact() trong PHP

Cách sử dụng compact() trong PHP

Hàm mysqli_field_tell() trong PHP

Hàm mysqli_field_tell() trong PHP

Cách sử dụng mysqli_field_tell() trong PHP

Hàm array_values() trong PHP

Hàm array_values() trong PHP

Cách sử dụng array_values() trong PHP

Hàm mysqli_free_result() trong PHP

Hàm mysqli_free_result() trong PHP

Cách sử dụng mysqli_free_result() trong PHP

Hàm array_unshift() trong PHP

Hàm array_unshift() trong PHP

Cách sử dụng array_unshift() trong PHP

Hàm mysqli_get_charset() trong PHP

Hàm mysqli_get_charset() trong PHP

Cách sử dụng mysqli_get_charset() trong PHP

Hàm array_shift() trong PHP

Hàm array_shift() trong PHP

Cách sử dụng array_shift() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Cách sử dụng mysqli_get_client_stats() trong PHP

Hàm array_unique() trong PHP

Hàm array_unique() trong PHP

Cách sử dụng array_unique() trong PHP

Hàm mysqli_get_client_version() trong PHP

Hàm mysqli_get_client_version() trong PHP

Cách sử dụng mysqli_get_client_version() trong PHP

Hàm array_uintesect() trong PHP

Hàm array_uintesect() trong PHP

Cách sử dụng array_uintesect() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Cách sử dụng mysqli_get_connection_stats() trong PHP

Hàm array_sum() trong PHP

Hàm array_sum() trong PHP

Cách sử dụng array_sum() trong PHP

Hàm mysqli_get_host_info() trong PHP

Hàm mysqli_get_host_info() trong PHP

Cách sử dụng mysqli_get_host_info() trong PHP

Top