Hallo,
die Sache ist doch einfach: wenn du mit dem einfachen String ein Resultat bekommst (also die Query) o.k. ist und eine Resultat bringt, dann ist beim u.g. Zusammenbasteln was falsch. Wenn du allerdings ohne E_NOTICE | E_WARNING arbeitest, bekommst du auch nicht mit, wenn du da irgendwo die Variable nicht richtig übergibst. Dann checkt die Query u.u. eben ob color NULL ist oder ähnliches. Das gibt dann natürlich ein leeres Resultat.
Gruß
jobo