How to Insert Form Data into Database using PHP ?
Last Updated :
21 Apr, 2025
In modern web development, Handling User Input is a fundamental task. One of the most common Operations is capturing data from a form and inserting it into database. PHP, combined with MySQL, offers a straightforward and powerful way to achieve it.
Here, we will see complete process of inserting form data into MySQL database using PHP – from setting up the database to writing secure and efficient code.
Prerequisites:
HTML form: First we create an HTML form that need to take user input from keyboard. HTML form is a document which stores information of a user on a web server using interactive controls. An HTML form contains different kind of information such as username, password, contact number, email id etc.
The elements that are used in an HTML form are check box, input box, radio buttons, submit buttons etc. With the help of these elements, the information of an user is submitted on the web server. The form tag is used to create an HTML form.
Syntax:
<form> Form Elements... </form>
or
To pass the values to next page, we use the page name with the following syntax. We can use either GET or POST method to sent data to server.
<form action=other_page.php method= POST/GET>
Form Elements...
</form>
Note: XAMPP stands for cross-platform, Apache, MySQL, PHP, and Perl. It is among the simple light-weight local servers for website development. In PHP, we can connect to database using localhost XAMPP web server.
Step 1: Start the XAMPP Server
- Open the XAMPP Control Panel.
- Start Apache and MySQL.

Step 2: Open localhost/phpmyadmin in your web browser and create database with database name as staff and click on create.

Step 3: Then create table name college.

Step 4: Enter columns and click on save

Syntax for Database Connection
PHP
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// Create connection
$conn = new mysqli($servername,
$username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: "
. $conn->connect_error);
}
$sql = "INSERT INTO `table` VALUES
('John', 'Doe', '[email protected]');";
if ($conn->query($sql) === TRUE) {
echo "record inserted successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
Step 5: Now open Notepad and start writing PHP code and save it as index.php and open other notepad and save it as insert.php Save both files in one folder under htdocs.

Save Filename as: index.php
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<title>GFG- Store Data</title>
</head>
<body>
<center>
<h1>Storing Form data in Database</h1>
<form action="insert.php" method="post">
<p>
<label for="firstName">First Name:</label>
<input type="text" name="first_name" id="firstName">
</p>
<p>
<label for="lastName">Last Name:</label>
<input type="text" name="last_name" id="lastName">
</p>
<p>
<label for="Gender">Gender:</label>
<input type="text" name="gender" id="Gender">
</p>
<p>
<label for="Address">Address:</label>
<input type="text" name="address" id="Address">
</p>
<p>
<label for="emailAddress">Email Address:</label>
<input type="text" name="email" id="emailAddress">
</p>
<input type="submit" value="Submit">
</form>
</center>
</body>
</html>

Save Filename as: insert.php
HTML
<!DOCTYPE html>
<html>
<head>
<title>Insert Page page</title>
</head>
<body>
<center>
<?php
// servername => localhost
// username => root
// password => empty
// database name => staff
$conn = mysqli_connect("localhost", "root", "", "staff");
// Check connection
if($conn === false){
die("ERROR: Could not connect. "
. mysqli_connect_error());
}
// Taking all 5 values from the form data(input)
$first_name = $_REQUEST['first_name'];
$last_name = $_REQUEST['last_name'];
$gender = $_REQUEST['gender'];
$address = $_REQUEST['address'];
$email = $_REQUEST['email'];
// Performing insert query execution
// here our table name is college
$sql = "INSERT INTO college VALUES ('$first_name',
'$last_name','$gender','$address','$email')";
if(mysqli_query($conn, $sql)){
echo "<h3>data stored in a database successfully."
. " Please browse your localhost php my admin"
. " to view the updated data</h3>";
echo nl2br("\n$first_name\n $last_name\n "
. "$gender\n $address\n $email");
} else{
echo "ERROR: Hush! Sorry $sql. "
. mysqli_error($conn);
}
// Close connection
mysqli_close($conn);
?>
</center>
</body>
</html>
Note: Type localhost/7058/index.php in your browser, it will display the form. After submitting the form, the form data is submitted into database.

Enter Data into the form like First Name , Last Name , Gender, Email Address, Address .

Data stored in Database Successfully

Validate Your Form Submission in phpMyAdmin

Storing User Input into a MySQL database using PHP is a foundational step in developing dynamic and data-driven web applications.
Important Points You Need To Keep In Mind:
- Form validation– Add client side(JavaScript) and Server-side(PHP) validation to ensure data integrity.
- Use Prepared Statements: Prevent SQL Injection attacks by Prepared Statements with PDO or mySQLi.
- Display stored Data: Create a page to fetch and display records in a structured table.
- CRUD Functionality: Implement full CRUD operations- Create, Read , Update and Delete to manage Data Effectively.
- Email Notifications: Send confirmation emails to users after form submission using PHP
mail()
or SMTP. - User Interface Improvements: Style the form using CSS or frameworks like Bootstrap for a better user experience.
- Authentication System: Add a login and registration system to protect access to data and backend operations.
Similar Reads
How to Insert JSON data into MySQL database using PHP?
To insert JSON data into MySQL database using PHP, use the json_decode function in PHP to convert JSON object into an array that can be inserted into the database. Here, we are going to see how to insert JSON data into MySQL database using PHP through the XAMPP server in a step-by-step way. JSON Str
3 min read
How to retrieve data from MySQL database using PHP ?
There are steps to understand for retrieving the data from the MySQL database. Approach: Create the database, then create the table for data.Enter the rows in the table. You have to connect to the database. Now we understand each and every step as shown below. Example 1: In this. we use PHPMyAdmin f
2 min read
How to Insert Email Address into Form using HTML5 ?
In this article, we will learn how to add and get an email address of a user as data of the form by adding an email input field. As we know that an email_id is a vital component of user data. Email address is used for the verification of the user. It is also used to make contact with the submitters
2 min read
How to get form data using POST method in PHP ?
PHP provides a way to read raw POST data of an HTML Form using php:// which is used for accessing PHPâs input and output streams. In this article, we will use the mentioned way in three different ways. We will use php://input, which is a read-only PHP stream. We will create a basic HTML form page wh
2 min read
How to fetch data from the database in PHP ?
Database operations in PHP are a very crucial thing that is especially needed in CRUD (Create, Read, Update and Delete) operations. In this article, we will discuss the Read part i.e. data fetching from database. There are two ways to connect to a database using PHP. They are as follows. MySQLi ("i"
4 min read
How to Update Data in MySQL Database Table Using PHP?
Updating data in a MySQL database table using PHP is a fundamental aspect of web development, particularly in applications where user interactions involve modifying existing records. This guide delves into the process of updating data in a MySQL database table using PHP, covering database connection
3 min read
How to insert request body into a MySQL database using Express js
If you trying to make an API with MySQL and Express JS to insert some data into the database, your search comes to an end. In this article, you are going to explore - how you can insert the request data into MySQL database with a simple Express JS app. Table of Content What is Express JS?What is MyS
3 min read
How to Compare Two Values from Database and Post in PHP?
When working with databases in PHP, comparing two values and posting the result involves querying the database to retrieve the values, performing a comparison operation, and then using the results as needed. This process typically includes connecting to the database, executing a query to fetch the v
4 min read
PHP date() format when inserting into datetime in MySQL
This problem describes the date format for inserting the date into MySQL database. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The date can be stored in this format only. However, it can be used with any time format functions to change it and display it. When writin
3 min read
How to create a simple math CAPTCHA form using PHP ?
In this article, we will see how to create a simple Math CAPTCHA form with the help of PHP, along with understanding its implementation through the example. To accomplish this task, we will use the PHP rand() function and check the sum of random numbers with the answer provided by the user. Generall
4 min read