What is the best practice for updating a database value in PHP based on user interaction, such as marking a message as read?

To update a database value in PHP based on user interaction, such as marking a message as read, you will need to first establish a connection to your database, then execute a SQL query to update the specific value. You can achieve this by passing the necessary parameters (such as the message ID and the new status) through a form submission or an AJAX request.

<?php
// Establish database connection
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Update message status
$message_id = $_POST['message_id']; // Assuming message_id is passed via POST
$new_status = 'read'; // Set the new status

$sql = "UPDATE messages SET status = '$new_status' WHERE id = $message_id";

if ($conn->query($sql) === TRUE) {
    echo "Message status updated successfully";
} else {
    echo "Error updating message status: " . $conn->error;
}

$conn->close();
?>