What are the potential pitfalls of using %Y in a MySQL query with PHP?

When using %Y in a MySQL query with PHP, the potential pitfall is that %Y only extracts the year from a date value, but does not account for the leading zeros. This can lead to incorrect results when comparing or manipulating dates. To solve this issue, it is recommended to use %Y with the DATE_FORMAT function in MySQL to ensure accurate date formatting.

// Example of using DATE_FORMAT with %Y in a MySQL query
$date = '2021-05-03';
$query = "SELECT * FROM table_name WHERE DATE_FORMAT(date_column, '%Y') = DATE_FORMAT('$date', '%Y')";
$result = mysqli_query($connection, $query);

// Loop through the result set
while($row = mysqli_fetch_assoc($result)) {
    // Output data
    echo $row['column_name'] . "<br>";
}

// Free result set
mysqli_free_result($result);

// Close connection
mysqli_close($connection);