public static function getEventbyEventDate(\PDO $pdo, \DateTime $eventDate) { try { $eventDate = self::validateDateTime($eventDate); } catch (\Exception $exception) { throw new \PDOException($exception->getMessage(), 0, $exception); } // Create query template $query = "SELECT eventId, eventProfileId, eventName, eventDate FROM event WHERE eventDate = :eventDate"; $statement = $pdo->prepare($query); // Bind member variables to query $parameters = ["eventDate" => $eventDate->format("Y-m-d H:i:s")]; $statement->execute($parameters); // Build an array of matches $events = new \SplFixedArray($statement->rowCount()); $statement->setFetchMode(\PDO::FETCH_ASSOC); while (($row = $statement->fetch()) !== false) { try { $event = new Event($row["eventId"], $row["eventProfileId"], $row["eventName"], DateTime::createFromFormat("Y-m-d H:i:s", $row["eventDate"])); $events[$events->key()] = $event; $event->next(); } catch (\Exception $exception) { throw new \PDOException($exception->getMessage(), 0, $exception); } } return $events; }