U kunt het IF-regelblok niet BUITEN de functies gebruiken. Dus dat heeft invloed op je beide vragen.
Verander de EXISTS-component in een subquery in plaats daarvan binnen een IF-functie
SELECT IF( EXISTS(
SELECT *
FROM gdata_calendars
WHERE `group` = ? AND id = ?), 1, 0)
In feite worden booleans geretourneerd als 1 of 0
SELECT EXISTS(
SELECT *
FROM gdata_calendars
WHERE `group` = ? AND id = ?)