jetzt wirf doch nicht gleich das Handtuch!
Dein script ist doch an sich ganz in Ordnung,
und Debuggen gehört zum Programmieren dazu.
Ich häng manchmal Tage an eigentlich winzigen Problemen, so ists halt.
Fang einfach an, isoliere die Stelle, die nicht funktioniert (das hast du ja schon).
Jetzt lässt du dir über var_dump oder ähnliches die Variablen ausgeben und schaust, ob die stimmen, zusaätzlich noch die Query-fehler abfangen, wie von mir oben beschrieben, dann kommst du dem Fehler schnell auf die Schliche.
Tobse: Deine Hilfsbereitschaft in allen Ehren, aber du redest am Problem vorbei! Salting hat nichts mit seinem Fehler zu tun, und dann auf dein Tutorial zu verwiesen, wo am Ende nichts anderes rauskommt, als er schon hat, ist auch nicht sonderlich hilfreich.