What are some strategies for logging successful and unsuccessful INSERT queries in PHP when interacting with a MySQL database?

When interacting with a MySQL database in PHP, it is important to log both successful and unsuccessful INSERT queries for debugging and monitoring purposes. One strategy is to use PHP's error handling functions to catch any errors that occur during the query execution and log them accordingly. Another approach is to implement custom logging functions that record the details of each INSERT query, including the query itself and any relevant error messages.

// Connect to the MySQL database
$connection = mysqli_connect("localhost", "username", "password", "database");

// Check for connection errors
if (!$connection) {
    die("Connection failed: " . mysqli_connect_error());
}

// Define a function to log INSERT queries
function logInsertQuery($query, $success) {
    $logMessage = $success ? "Successful INSERT query: " : "Unsuccessful INSERT query: ";
    $logMessage .= $query;
    
    // Log the message to a file or database
    file_put_contents('insert_query_log.txt', $logMessage . PHP_EOL, FILE_APPEND);
}

// Perform an INSERT query
$query = "INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')";
$result = mysqli_query($connection, $query);

// Check if the query was successful
if ($result) {
    logInsertQuery($query, true);
} else {
    logInsertQuery($query, false);
    echo "Error: " . mysqli_error($connection);
}

// Close the database connection
mysqli_close($connection);