BOOKS CRUD
The books table contains:
text
book_id
book_title
book_author
book_category
book_created_at
text
CREATE → INSERT
READ → SELECT
UPDATE → UPDATE
DELETE → DELETE
3.1 CREATE Book
Use Case
The user enters:
text
Book Title
Author
Category
Get Form Data
php
$title = trim($_POST['book_title'] ?? '');
$author = trim($_POST['book_author'] ?? '');
$category = trim($_POST['book_category'] ?? '');
SQL Query
sql
INSERT INTO books (
book_title,
book_author,
book_category
)
VALUES (?, ?, ?);
PHP PDO
php
$stmt = $pdo->prepare("
INSERT INTO books (
book_title,
book_author,
book_category
)
VALUES (?, ?, ?)
");
$stmt->execute([
$title,
$author,
$category
]);
text
book_id
book_created_at
3.2 READ Books
Use Case
Display all books. ---SQL Query
sql
SELECT *
FROM books
ORDER BY book_id DESC;
PHP PDO
php
$stmt = $pdo->query("
SELECT *
FROM books
ORDER BY book_id DESC
");
$books = $stmt->fetchAll();
Display Books
php
<?php foreach ($books as $book): ?>
<?= htmlspecialchars($book['book_id']) ?>
<?= htmlspecialchars($book['book_title']) ?>
<?= htmlspecialchars($book['book_author']) ?>
<?= htmlspecialchars($book['book_category']) ?>
<?php endforeach; ?>
3.3 READ One Book
When editing a book:
text
index.php?section=books&action=update&id=1
php
$bookId = (int) ($_GET['id'] ?? 0);
sql
SELECT *
FROM books
WHERE book_id = ?;
php
$stmt = $pdo->prepare("
SELECT *
FROM books
WHERE book_id = ?
");
$stmt->execute([
$bookId
]);
$book = $stmt->fetch();
3.4 UPDATE Book
Use Case
The user changes the book information. ---SQL Query
sql
UPDATE books
SET
book_title = ?,
book_author = ?,
book_category = ?
WHERE book_id = ?;
PHP PDO
php
$stmt = $pdo->prepare("
UPDATE books
SET
book_title = ?,
book_author = ?,
book_category = ?
WHERE book_id = ?
");
$stmt->execute([
$title,
$author,
$category,
$bookId
]);
WHERE book_id = ? ensures that only the selected book is changed.
---
3.5 DELETE Book
Use Case
The user clicks Delete. ---SQL Query
sql
DELETE FROM books
WHERE book_id = ?;
PHP PDO
php
$bookId = (int) ($_GET['id'] ?? 0);
$stmt = $pdo->prepare("
DELETE FROM books
WHERE book_id = ?
");
$stmt->execute([
$bookId
]);
Important: Foreign Key Restriction
Theborrow table contains:
sql
FOREIGN KEY (book_id)
REFERENCES books(book_id)
ON DELETE RESTRICT
text
Book
|
v
Borrow Record
3.6 Books CRUD Summary
text
| CRUD | SQL | PHP Method |
|---|---|---|
| Create | `INSERT` | `prepare()` + `execute()` |
| Read | `SELECT` | `query()` + `fetchAll()` |
| Read One | `SELECT WHERE` | `prepare()` + `fetch()` |
| Update | `UPDATE` | `prepare()` + `execute()` |
| Delete | `DELETE` | `prepare()` + `execute()` |
Sign in to save your progress permanently.
Progress is saved in your browser session
Step 4 of 9