Anda tidak dapat menggunakan blok kontrol IF DI LUAR fungsi. Jadi itu memengaruhi kedua kueri Anda.
Ubah klausa EXISTS menjadi subquery sebagai gantinya dalam fungsi IF
SELECT IF( EXISTS(
SELECT *
FROM gdata_calendars
WHERE `group` = ? AND id = ?), 1, 0)
Faktanya, boolean dikembalikan sebagai 1 atau 0
SELECT EXISTS(
SELECT *
FROM gdata_calendars
WHERE `group` = ? AND id = ?)