Du kan inte använda IF-kontrollblocket UTANFÖR funktioner. Så det påverkar båda dina frågor.
Förvandla EXISTS-satsen till en underfråga istället inom en IF-funktion
SELECT IF( EXISTS(
SELECT *
FROM gdata_calendars
WHERE `group` = ? AND id = ?), 1, 0)
Faktum är att booleaner returneras som 1 eller 0
SELECT EXISTS(
SELECT *
FROM gdata_calendars
WHERE `group` = ? AND id = ?)