Vous ne pouvez pas utiliser le bloc de contrôle IF EN DEHORS des fonctions. Cela affecte donc vos deux requêtes.
Transformez la clause EXISTS en une sous-requête à la place dans une fonction IF
SELECT IF( EXISTS(
SELECT *
FROM gdata_calendars
WHERE `group` = ? AND id = ?), 1, 0)
En fait, les booléens sont retournés sous la forme 1 ou 0
SELECT EXISTS(
SELECT *
FROM gdata_calendars
WHERE `group` = ? AND id = ?)