Search code examples
phpmysqldelete-row

PHP - How to verify record deleted successfully


This is the code I'm using for deleting row from my DB:

<?php
$eid = $_GET['eid'];
$con = mysqli_connect("localhost", "root", "","project") or die("Connection failed");
echo "connection is done";
$query = "delete from exam where eid='$eid'";

if ($con->query($query)==TRUE)
{
    echo " record deleted";
}
else 
{
    echo "Error: " . $query . "<br>" . $con->error;
}

$con->close();
?>

The else statement is not getting executed. It displays "record deleted" for every value even if the value is not found in the database.

Why is this happening? how can I verify that my record has been deleted from my DB?


Solution

  • You can use mysqli.affected-rows.

    Consider the following:

    $query="delete from exam where eid='$eid'";
    if ($con->query($query)==TRUE && $con->affected_rows > 0) {
        echo " record deleted";
    } else {
        echo "Error: " . $query . "<br>" . $con->error;
    }