What are common pitfalls when trying to delete a MySQL record using PHP and HTML buttons?

One common pitfall when trying to delete a MySQL record using PHP and HTML buttons is not passing the record ID correctly to the PHP script that handles the deletion. To solve this issue, you can pass the record ID as a parameter in the URL when the delete button is clicked, and then retrieve this parameter in the PHP script to perform the deletion.

```php
<?php
// Check if the record ID is passed in the URL
if(isset($_GET['id'])) {
    // Connect to the database
    $conn = new mysqli("localhost", "username", "password", "database");

    // Prepare a delete statement
    $stmt = $conn->prepare("DELETE FROM table_name WHERE id = ?");
    $stmt->bind_param("i", $_GET['id']);

    // Execute the delete statement
    $stmt->execute();

    // Close the connection
    $stmt->close();
    $conn->close();

    // Redirect back to the page after deletion
    header("Location: index.php");
    exit();
}
?>
```

In this code snippet, we check if the record ID is passed in the URL using `$_GET['id']`, connect to the database, prepare a delete statement, bind the record ID parameter, execute the statement, and then redirect back to the page after deletion.