Tach!
Das kannst und solltest du immer mit var_dump() prüfen. Untersuche also, warum die Zuweisung misslungen ist.
Wo soll ich var_dump aufrufen lassen, wenn das Script diesen Fehler ausgibt? Egal an welcher Stelle ich var_dump ausgeben lasse, ich sehe nur den von mir genannten Fehler.
Die Fehlermeldung sagt, dass an einem non-object eine Methode aufgerufen wurde. Das heißt also, dass $stmt ein non-object ist. Das sollst du mit var_dump($stmt) überprüfen. Natürlich ändert sich damit noch nichts, aber das wäre der erste Schritt zur Analyse des Problems.
dedlfix.