Table of Content
pplications. Such As as From registering new users to collecting form submissions and storing product details.
Things like adding a user profile information during sign-up or saving feedback from a contact form—these operations rely heavily on the integration between PHP and MySQL.
In this guide, you will learn many ways to insert data into MySQL using PHP, covering everything from basic SQL syntax to secure examples like prepared statements.
Basic Syntax of the INSERT Data INTO SQL Statement
The INSERT INTO SQL command is used to add new rows of data to a table in a database.
This assumes that you will provide values for all columns in the correct order. Here is the syntax:
INSERT INTO table_name VALUES (value1, value2, value3, ...);
To use another pattern for this statement is to specify columns name with values:
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
These two statements are only to show you how to insert data into SQL, but how can you achieve that in PHP? Actually, we have two ways to do that! MySQLi and PDO. In the following section you will learn each one in details.
Insert Data into MySQL Using PHP
PHP provides two ways to allow you insert data into SQL database which are PDO and MySQLi.
Inserting Data Using mysqli
The mysqli extension to interact with MySQL databases. It provides us two ways to insert data. They are procedural and object-oriented.
Here is the procedural method:
$conn = mysqli_connect("localhost", "username", "password", "database");
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO users (name, email) VALUES ('Jane Doe', 'jane.doe@example.com')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully.";
} else {
echo "Error: " . mysqli_error($conn);
}
mysqli_close($conn);
And here the Object-oriented method:
$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO users (name, email) VALUES ('Jane Smith', 'jane.smith@example.com')";
if ($conn->query($sql) === TRUE) {
echo "Record added successfully.";
} else {
echo "Error: " . $conn->error;
}
$conn->close();
Both of them handle errors using the respective error functions. Here is another example using prepared statements for secure data insertion.
$conn = mysqli_connect("localhost", "username", "password", "database");
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
$name = "Rachel Green";
$email = "rachel.green@example.com";
$stmt->execute();
echo "Record inserted successfully.";
$stmt->close();
$conn->close();
Anyway, let’s move on to the section below to see how to insert data into SQL using PDO in PHP.
Inserting Data to MySQL Using PDO
You need first to set up a connection between SQL and PHP. Here is the code of connection using PHP:
try {
$pdo = new PDO("mysql:host=localhost;dbname=database", "username", "password");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
To execute an insert query use the below one:
$sql = "INSERT INTO users (name, email) VALUES ('Mike Ross', 'mike.ross@example.com')";
try {
$pdo->exec($sql);
echo "New record created successfully.";
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
Here is another example using prepared statements:
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->execute(['name' => 'Joey Tribbiani', 'email' => 'joey.tribbiani@example.com']);
echo "Record inserted successfully.";
In the following section, you will learn how to insert multiple rows into the database in a single execution.
Insert Multiple Rows of Data into MySQL in PHP
You can insert multiple rows with a single query to improve performance. Just use this example:
$sql = "INSERT INTO users (name, email) VALUES
('Alice', 'alice@example.com'),
('Bob', 'bob@example.com'),
('Charlie', 'charlie@example.com')";
$conn->query($sql);
Let’s summarize it.
Wrapping Up
The process of Insert data to a MySQL database with PHP is one of the basic tasks in web development.
It involves using the INSERT INTO SQL statement to add new rows of data into a database table, a task commonly required for operations like user registrations or storing form submissions. To achieve this, PHP provides two primary extensions: MySQLi and PDO.
MySQLi offers both procedural and object-oriented approaches, while PDO provides a database-agnostic solution. Both methods support prepared statements, which are important for securing data inputs against SQL injection. By establishing a database connection in PHP and executing INSERT INTO queries using these extensions, you can securely manage data insertion in your projects.
Similar Reads
You can assign the boolean data type to PHP variables or use it as a direct value. This enables you…
When you start working with PHP, you’ll soon need access to variables from multiple places in your code. For this,…
In this tutorial, I will explain what does mean the PHP resource and we are going to cover all PHP…
PHP array_unshift helps you add new elements to appear before the existing ones. Understand the array_unshift function in PHP The…
In PHP, if you're working with XML files, you’ll probably work with DOMDocument. It is a powerful class, enabling you…
The array_rand() is a helper function in PHP that makes it easier when dealing with arrays; you can just pull…
The IF statement in PHP helps to see if a condition is true or not. If it is true, it…
The PHP is_readable helps you validate file readability before any operation like read or include files. What Is PHP is_readable? The is_readable() function…
You can use the array_fill function in PHP when you must fill an array with one value. You may want…
PHP supports OOP with access modifiers to prevent unintended changes and improve security. In this article, we will cover the…