CRUD Operations in PHP with MySQL: A Complete Guide

CRUD stands for Create, Read, Update, Delete—the four basic operations for managing data in a database. In this blog post, we’ll build a simple CRUD application using PHP and MySQL, perfect for beginners who want to understand how PHP interacts with databases.

📌 Prerequisites
Basic knowledge of PHP

A local server (XAMPP, WAMP, or MAMP)

MySQL or MariaDB

A code editor (VS Code, Sublime, etc.)

1. 🧱 Database Setup
First, create a MySQL database and a table named users.

CREATE DATABASE crud_app;

USE crud_app;

CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
2. 🔌 Connect PHP to MySQL
Create a file named config.php.
<?php
$host = “localhost”;
$user = “root”; $password = “”;
$database = “crud_app”;
$conn = new mysqli($host, $user, $password, $database);
if ($conn->connect_error) {
die(“Connection failed: ” . $conn->connect_error);
}
?>
3. ➕ Create (Insert)

<form action=”insert.php” method=”post”>Name: <input name=”name” required=”” type=”text” />
Email: <input name=”email” required=”” type=”email” />
<button type=”submit”>Add User</button>
</form>
<!– insert.php –>
<?php include ‘config.php’;
$name = $_POST[‘name’];
$email = $_POST[’email’];
$sql = “INSERT INTO users (name, email) VALUES (‘$name’, ‘$email’)”;
if ($conn->query($sql)) {
echo “User added successfully.”;
} else {
echo “Error: ” . $conn-&gt;error;
}
?>

4. 📄 Read (Display All)

<!– index.php –>
<?php
include ‘config.php’;
$result = $conn->query(“SELECT * FROM users”);
?>
<h2>User List</h2>
<a href=”create.php”>Add New User</a>

<table border=”1″ cellpadding=”10″>
<tbody>
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
<th>Action</th>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td><a href=”edit.php?id=<?= $row[‘id’] ?>”>Edit</a> |
<a href=”delete.php?id=<?= $row[‘id’] ?>”>Delete</a></td>
</tr>
<?php endwhile; ?>
</tbody>
</table>

5. ✏️ Update

<!– edit.php –>
<?php
include ‘config.php’;
$id = $_GET[‘id’];
$result = $conn->query(“SELECT * FROM users WHERE id = $id”);
$row = $result->fetch_assoc();
?>

<form action=”update.php” method=”post”>
<input name=”id” type=”hidden” value=”<?= $row[‘id’] ?>” />
Name: <input name=”name” type=”text” value=”<?= $row[‘name’] ?>” />
Email: <input name=”email” type=”email” value=”<?= $row[’email’] ?>” />
<button type=”submit”>Update User</button></form>
<!– update.php –>
<?php
include ‘config.php’;
$id = $_POST[‘id’];
$name = $_POST[‘name’];
$email = $_POST[’email’];
$sql = “UPDATE users SET name=’$name’, email=’$email’ WHERE id=$id”;
if ($conn->query($sql)) {
echo “User updated successfully.”;
} else {
echo “Error: ” . $conn->error;
}
?>

6. ❌ Delete

<!– delete.php –>
<?php include ‘config.php’;
$id = $_GET[‘id’];
$sql = “DELETE FROM users WHERE id = $id”;
if ($conn->query($sql)) {
echo “User deleted successfully.”;
} else {
echo “Error: ” . $conn->error;
}
?>

✅ Conclusion
You’ve now built a basic CRUD application in PHP! This is the foundation of nearly every web application—whether you’re building a blog, task manager, or e-commerce platform. You can expand on this by adding:

Validation and sanitization

Pagination

Bootstrap for styling

Prepared statements for security