hi guys, i have a php scripts that throws a strange error that i cannot solve.

here is the syntax

PHP Code:
$sql "SELECT user_home.Team_name, user_away.Team_name, matches_schedule.Match_type, TIME(matches_schedule.date_of_match)
                FROM users AS user_home, users AS user_away, teams AS team_away, teams AS team_home, matches_schedule
                WHERE user_home.id = team_home.id_user AND
                team_home.id_user = matches_schedule.id_home_team AND
                user_away.id = team_away.id_user AND
                team_away.id_user = matches_schedule.id_away_team AND
                DATE(matches_schedule.Date_of_match) = CURDATE() AND
                (user_home.id OR user_away.id)= :id"

$s $connection->prepare($sql);
                while (
$row $s->fetch())
$array_login['home_team_name'] = $row['Team_name'];
$array_login['away_team_name'] = $row['Team_name'];
$array_login['match_type'] = $row['Match_type'];
$array_login['time_of_match'] = $row['Date_of_match'];


        catch (
PDOException $e)
"Error" $e;
the script returns this error:
Error5exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in C:\xampp\htdocs\volleyballmanager\login\when_login.php:169Stack trace:#0 C:\xampp\htdocs\volleyballmanager\login\when_login.php(169): PDOStatement->execute()#1 {main}

-$connection is the PDO object and it works fine because i use the same in a lot of other scripts
-the session "currentsessionid" is also set up well because i use it in a previous query in the same script
-the sql query seems also to be good because when i run it in phpmyadmin(replacing the ":id" with a number) it returns no error

where can be the problem???
THX guys