Appearance
Insert data into multiple tables using one form
To insert data into multiple tables using one form in PHP, you can use multiple INSERT INTO statements in a single string, or you can use multiple individual SQL statements, one for each table.
Here is an example of using multiple INSERT INTO statements in a single string:
Example of using multiple INSERT INTO statements in a single string
php
<?php
$sql = "INSERT INTO table1 (column1, column2) VALUES ('$value1', '$value2');
INSERT INTO table2 (column1, column2) VALUES ('$value3', '$value4');
INSERT INTO table3 (column1, column2) VALUES ('$value5', '$value6')";
if ($conn->multi_query($sql) === true) {
do {
if ($result = $conn->store_result()) {
$result->free();
}
} while ($conn->next_result());
echo "New records created successfully";
} else {
echo "Error: " . $conn->error;
}
<div class="alert alert-info flex not-prose">Watch a video course Learn object oriented PHP
</div>
Here is an example of using multiple individual SQL statements:
Example of using multiple individual SQL statements
php
<?php
$sql1 = "INSERT INTO table1 (column1, column2) VALUES ('$value1', '$value2')";
$sql2 = "INSERT INTO table2 (column1, column2) VALUES ('$value3', '$value4')";
$sql3 = "INSERT INTO table3 (column1, column2) VALUES ('$value5', '$value6')";
$success = true;
if ($conn->query($sql1) === true) {
if ($conn->query($sql2) === true) {
if ($conn->query($sql3) === true) {
echo "New records created successfully";
} else {
$success = false;
echo "Error on table3: " . $conn->error;
}
} else {
$success = false;
echo "Error on table2: " . $conn->error;
}
} else {
$success = false;
echo "Error on table1: " . $conn->error;
}
<div class="alert alert-warning not-prose">Important: Executing multiple queries without a transaction risks data inconsistency if one fails. Use$conn->begin_transaction(),$conn->commit(), and$conn->rollback()to ensure atomicity. Additionally, direct variable interpolation is vulnerable to SQL injection. Always use prepared statements ($conn->prepare()) for production code.</div>