Creating REST API using PHP
Create a Database and Table:
First of all, you need to create a MySQL database and table to store the data for your bootstrap form data. Open your preferred MySQL management tool (e.g., phpMyAdmin) and execute the following SQL query to create a table named
users and database name demo:CREATE DATABASE Demo; CREATE TABLE users ( id INT(11) PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, );
Connect to MySQL Database:
Next, you need to connect to the MySQL database using PHP. So, Create a new PHP file named
db.php and add the following code:<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$database = "your_database";
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}Define API Endpoints:
Now, you need to create APIs to add, edit, update and delete data from MySQL database. So, create a new PHP file, such as
index.php, which will act as the entry point for our API, add the following code for the respective endpoints<?php
require_once 'db.php';
header("Content-Type: application/json");
// Retrieve user by ID
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['id'])) {
$id = $_GET['id'];
$sql = "SELECT * FROM users WHERE id = $id";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
echo json_encode($row);
} else {
echo json_encode("User not found");
}
}
// Create a new user
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['name']) && isset($_POST['email'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
$result = $conn->query($sql);
if ($result === TRUE) {
echo json_encode("User created successfully");
} else {
echo json_encode("Error creating user: " . $conn->error);
}
}
// Update an existing user
if ($_SERVER['REQUEST_METHOD'] === 'PUT' && isset($_GET['id']) && isset($_POST['name']) && isset($_POST['email'])) {
$id = $_GET['id'];
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "UPDATE users SET name='$name', email='$email' WHERE id=$id";
$result = $conn->query($sql);
if ($result === TRUE) {
echo json_encode("User updated successfully");
} else {
echo json_encode("Error updating user: " . $conn->error);
}
}
// Delete an existing user
if ($_SERVER['REQUEST_METHOD'] === 'DELETE' && isset($_GET['id'])) {
$id = $_GET['id'];
$sql = "DELETE FROM users WHERE id=$id";
$result = $conn->query($sql);
if ($result === TRUE) {
echo json_encode("User deleted successfully");
} else {
echo json_encode("Error deleting user: " . $conn->error);
}
}Test the API in POSTMAN:
Send HTTP requests to the API endpoints using a tool like cURL, Postman, or a web browser extension.
Here are some example requests:
To retrieve a user by ID: GET http://localhost/index.php?id=1
To create a new user: POST http://localhost/index.php with form data containing name and email fields.
To update an existing user: PUT http://localhost/index.php?id=1 with form data containing name and email fields.
To delete an existing user: DELETE http://localhost/index.php?id=1