An easier approach is to search for those records with today's char in the recurrence column set to "1"
$sql = "SELECT id
, recurrence
, description
, begindate
, enddate
FROM schedule
WHERE ? BETWEEN begindate AND enddate
AND SUBSTRING(recurrence, WEEKDAY(?)+1, 1)
AND active
";
$res = $pdo->prepare($sql);
$searchDate = '2024-02-28';
$res->execute([$searchDate, $searchDate]);
Example outputs
searchdate = Feb 26 2024 (Monday)
+----+------------+-------------+------------+------------+
| id | recurrence | description | begindate | enddate |
+----+------------+-------------+------------+------------+
| 39 | 1010100 | Event1 | 2023-08-31 | 3000-01-01 |
+----+------------+-------------+------------+------------+
searchdate = Feb 28 2024 (Wednesday)
+----+------------+-------------+------------+------------+
| id | recurrence | description | begindate | enddate |
+----+------------+-------------+------------+------------+
| 39 | 1010100 | Event1 | 2023-08-31 | 3000-01-01 |
| 51 | 0010000 | Event2 | 2023-08-31 | 3000-01-01 |
+----+------------+-------------+------------+------------+