How can the COALESCE function be used in PHP MySQL queries to handle comparisons with NULL values effectively?

When comparing values in MySQL queries, NULL values can cause unexpected results. The COALESCE function can be used to handle NULL values effectively by replacing them with a specified default value. This ensures that comparisons involving NULL values behave as expected.

// Example of using COALESCE function in a MySQL query
$default_value = 0; // Default value to replace NULL
$query = "SELECT column_name FROM table_name WHERE COALESCE(column_name, :default_value) = :desired_value";

// Prepare and execute the query with PDO
$stmt = $pdo->prepare($query);
$stmt->bindParam(':default_value', $default_value);
$stmt->bindParam(':desired_value', $desired_value);
$stmt->execute();

// Fetch results as needed
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);