Nefunguje MySQL select z PHP
Když spustím přímo z phpMyAdmina select
SELECT distinct u.`id`, u.`name`
FROM `customer` c
LEFT JOIN `user` u ON (c.`garant` = u.`id`)
LEFT JOIN `group` g ON (u.`group_id` = g.`id`)
WHERE u.`group_id` = 0 AND
g.`id` IS NOT NULL AND
g.`name` IS NOT NULL
tak vrátí 2 uživatele ('Cerveny Jan' a 'SF admin').
Ten samý select spuštěný z phpka volaného Ajaxem ovšem nenajde nic . Chybu v předávání hodnot Ajaxem můžeme asi vyloučit, protože pokud místo c.garant dám jiný sloupec, resp. místo 0 jiné číslo, tak to něco najde (i když je otázka, zda vždy vše). V kódování češtiny asi problém nebude, protože SF admin nemá žádný český znak. V čem může být problém?
Teď jsem si všimla, že to může být tou 0, když totiž dá vyhledat
SELECT distinct u.`id`, u.`name`
FROM `customer` c
LEFT JOIN `user` u ON (c.`am` = u.`id`)
LEFT JOIN `group` g ON (u.`group_id` = g.`id`)
WHERE u.`group_id` = 1 AND
g.`id` IS NOT NULL AND
g.`name` IS NOT NULL
tak to Cerveneho najde (v tab. user má záznam jak pro sk. admin - to je to g.id = 0, tak pro skupinu am - to je g.id = 1.
Vím, že se dá nějak nastavit, aby se NULL a 0 braly jako jedna/dvě různé hodnoty, ale jak se to nastavuje z PHP?
WHERE coalesce(u.`group_id`, 0) = 0