MySQLi PHP: Check if SQL INSERT query was fully successful using MySQLi
mysql, mysqli, php, sql
Solution
From the PHP Manual on `mysqli_stmt::execute`:
`mysqli_stmt::execute` -- `mysqli_stmt_execute` — Executes a prepared Query
Returns TRUE on success or FALSE on failure.
if ($stmt->execute()) { // exactly like this!
$success = true;
}
You're doing it right... What's your dilemma?
Problem
I have this big function that gets a lot of different data and insert it into multiple tables.. Not all the data is always available so not all the SQL INSERT queries are successful. I need to check which SQL INSERT query was fully successful and which wasn't to the do something with this data (like inserting into a log table or similar). Just to give you an example of how I think it can be done: ``` $sql = 'INSERT INTO data_table (ID, column1, column2) VALUES(?, ?, ?)'; if ($stmt->prepare($sql)) { $stmt->bind_param('iss', $varID, $var1, $var2); if ($stmt->execute()) { $success == TRUE; //or something like that } } ``` I'm not completely sure this is the best way and if its always really show if the data was inserted into the table... Any suggestions??