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:
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) Sử dụng MySQLi Object-oriented
$conn = new mysqli('localhost', 'root', '', 'demo');
if ($conn->connect_error) {
die("Kết nối thất bại: " . $conn->connect_error);
}
$sql = "SELECT id, title, content FROM News";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
while($row = $result->fetch_assoc()) {
echo "title: " . $row["title"]. " - Content: " . $row["content"]."<br>";
}
}
else {
echo "Không có record nào";
}
$conn->close();
2) Sử dụng MySQLi Procedural
$conn = mysqli_connect('localhost', 'root', '', 'demo');
if (!$conn) {
die("Kết nối thất bại: " . mysqli_connect_error());
}
$sql = "SELECT id, title, content FROM News";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_assoc($result)) {
echo "title: " . $row["title"]. " - Content: " . $row["content"]. "<br>";
}
}
else {
echo "Không có record nào";
}
mysqli_close($conn);
3) Sử dụng PDO
try {
$conn = new PDO("mysql:host=localhost;dbname=demo", 'root', '');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT id, title, content FROM News");
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$result = $stmt->fetchAll();
foreach ($result as $item){
echo $item['title'] . ' - '. $item['content'];
}
}
catch(PDOException $e) {
echo "Lỗi: " . $e->getMessage();
}
$conn = null;