What does a successful MySQL DELETE return? How to check if DELETE was successful?

PhpMysql

Php Problem Overview


Using PHP, I am trying to delete a record, but I want to check if it was successful or not. Is anything returned from a successful DELETE FROM foo where bar = 'stuff'?

Alternatively, do you know any other ways to check if a DELETE was successful? Or am I better off just making sure the row exists before I delete it? I am trying to avoid another query if possible.

Php Solutions


Solution 1 - Php

Assuming you are using mysql_query:

> For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

If you are using PDO::exec, then the manual says this:

> PDO::exec() returns the number of rows that were modified or deleted by the SQL statement you issued. If no rows were affected, PDO::exec() returns 0.

Don't want to answer snipe, but since this was selected as the answer, I should note that mysql_query will return TRUE even if the query did not actually remove anything. You should use mysql_affected_rows to check for that.

Solution 2 - Php

Additionally, if you care about the number of rows that were affected:

>[Use] http://us.php.net/manual/en/function.mysql-affected-rows.php">mysql\_affected\_rows()</a> to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

Solution 3 - Php

you could try this for your php code, placed after your query runs:

if (mysql_affected_rows() > 0) {
    echo "You have successfully updated your data.<br><br>";
}
else {
    echo "The data you submitted matched the current data so nothing was changed.<br><br>";
}

Solution 4 - Php

For other types of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionjergasonView Question on Stackoverflow
Solution 1 - PhpPaolo BergantinoView Answer on Stackoverflow
Solution 2 - PhpbiggusjimmusView Answer on Stackoverflow
Solution 3 - PhpryanView Answer on Stackoverflow
Solution 4 - PhpjedbonheurView Answer on Stackoverflow