I have a simple sql select query (similar to below) that returns zero results when using placeholders:
$sql='SELECT * FROM table
WHERE column1=?
AND column2=?;';
$sth = $dbh->prepare($sql);
$sth->execute(array(1,2));
However when i hardcode the sql I am receiving results:
$sql='SELECT * FROM table
WHERE column1=1
AND column2=2;';
$sth = $dbh->prepare($sql);
$sth->execute();
Can anyone explain why my placeholders aren't working?
EDIT The prepare statement succeeds. Here is the full query:
$sql='SELECT * FROM calendar
LEFT JOIN class_schedule
ON calendar.week=class_schedule.week
AND calendar.class_day=class_schedule.class_day
AND calendar.class_time=class_schedule.class_time
LEFT JOIN class_enrolledIn
ON class_enrolledIn.class=class_schedule.class
LEFT JOIN users
ON class_enrolledIn.u_id=users.id
WHERE calendar.week=?
AND calendar.class_day=?
AND u_id IS NOT NULL;';