SQL Tutorial
SQL Clauses / Operators
SQL-Injection
SQL Functions
SQL Queries
PL/SQL
MySQL
SQL Server
Misc
To insert data into a MySQL database using PHP, you'll need to use PHP's built-in MySQL functions. One of the most popular ways to do this is using the mysqli
extension. Here's a basic walkthrough:
Before inserting data, you'll need to connect to your MySQL server:
$servername = "localhost"; $username = "your_username"; $password = "your_password"; $dbname = "your_db_name"; // Create a new connection $conn = new mysqli($servername, $username, $password, $dbname); // Check the connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }
Now that you're connected, you can use an SQL INSERT
statement to add data:
$sql = "INSERT INTO your_table_name (column1, column2, column3, ...) VALUES ('value1', 'value2', 'value3', ...)"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; }
Once you've finished inserting data, make sure to close the connection:
$conn->close();
To prevent SQL injection, it's a best practice to use prepared statements when inserting data. Here's how you can do it with mysqli
:
// Prepare the statement $stmt = $conn->prepare("INSERT INTO your_table_name (column1, column2) VALUES (?, ?)"); // Bind the parameters. 'ss' indicates the data types (s = string). Adjust accordingly. $stmt->bind_param("ss", $value1, $value2); // Set the values and execute $value1 = 'your_value_1'; $value2 = 'your_value_2'; $stmt->execute(); echo "New record created successfully"; $stmt->close(); $conn->close();
This way, user data is never directly embedded into your SQL statement, making it much more difficult for an attacker to inject malicious SQL.
Remember to always sanitize and validate input data before inserting it into the database to enhance security further.
PHP MySQL insert query example:
<?php $servername = "localhost"; $username = "your_username"; $password = "your_password"; $dbname = "your_database"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "INSERT INTO your_table (column1, column2) VALUES ('value1', 'value2')"; if ($conn->query($sql) === TRUE) { echo "Record inserted successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?>
Inserting data into MySQL using PHP:
<?php $servername = "localhost"; $username = "your_username"; $password = "your_password"; $dbname = "your_database"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $value1 = "some_value"; $value2 = "another_value"; $sql = "INSERT INTO your_table (column1, column2) VALUES ('$value1', '$value2')"; if ($conn->query($sql) === TRUE) { echo "Record inserted successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?>
How to execute SQL INSERT statement in PHP:
<?php $conn = new mysqli("localhost", "your_username", "your_password", "your_database"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $value1 = "some_value"; $value2 = "another_value"; $sql = "INSERT INTO your_table (column1, column2) VALUES ('$value1', '$value2')"; if ($conn->query($sql) === TRUE) { echo "Record inserted successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?>
MySQL prepared statements for PHP insertion:
<?php $conn = new mysqli("localhost", "your_username", "your_password", "your_database"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $value1 = "some_value"; $value2 = "another_value"; $stmt = $conn->prepare("INSERT INTO your_table (column1, column2) VALUES (?, ?)"); $stmt->bind_param("ss", $value1, $value2); if ($stmt->execute() === TRUE) { echo "Record inserted successfully"; } else { echo "Error: " . $stmt->error; } $stmt->close(); $conn->close(); ?>
PHP PDO insert into MySQL database:
<?php $servername = "localhost"; $username = "your_username"; $password = "your_password"; $dbname = "your_database"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $value1 = "some_value"; $value2 = "another_value"; $stmt = $conn->prepare("INSERT INTO your_table (column1, column2) VALUES (:value1, :value2)"); $stmt->bindParam(':value1', $value1); $stmt->bindParam(':value2', $value2); $stmt->execute(); echo "Record inserted successfully"; } catch (PDOException $e) { echo "Error: " . $e->getMessage(); } $conn = null; ?>
Inserting form data into MySQL with PHP:
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $conn = new mysqli("localhost", "your_username", "your_password", "your_database"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $value1 = $_POST["input1"]; $value2 = $_POST["input2"]; $sql = "INSERT INTO your_table (column1, column2) VALUES ('$value1', '$value2')"; if ($conn->query($sql) === TRUE) { echo "Record inserted successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); } ?>
PHP MySQLi procedural approach for insertion:
<?php $conn = mysqli_connect("localhost", "your_username", "your_password", "your_database"); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $value1 = "some_value"; $value2 = "another_value"; $sql = "INSERT INTO your_table (column1, column2) VALUES ('$value1', '$value2')"; if (mysqli_query($conn, $sql)) { echo "Record inserted successfully"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); ?>
Using PHP to insert data into MySQL table:
<?php $conn = new mysqli("localhost", "your_username", "your_password", "your_database"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $value1 = "some_value"; $value2 = "another_value"; $sql = "INSERT INTO your_table (column1, column2) VALUES ('$value1', '$value2')"; if ($conn->query($sql) === TRUE) { echo "Record inserted successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?>
PHP MySQL insert multiple rows example:
<?php $conn = new mysqli("localhost", "your_username", "your_password", "your_database"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $values = [ ['value1', 'value2'], ['value3', 'value4'], // Add more rows as needed ]; foreach ($values as $row) { $value1 = $row[0]; $value2 = $row[1]; $sql = "INSERT INTO your_table (column1, column2) VALUES ('$value1', '$value2')"; if ($conn->query($sql) !== TRUE) { echo "Error: " . $sql . "<br>" . $conn->error; break; } } echo "Records inserted successfully"; $conn->close(); ?>