Wie lautet die Zeile, bei der die Fehlermeldung kommt?
select nachname from user where User = "Peter"
Was willst Du an der Stelle liefern und was lieferst Du tatsächlich?
Nachname/Nachname
Vielleicht steht irgendwo ein ein if mit einem einzigen "=" mit dem Du das Argument, welches ein2 "valid MySQL-Link resource" ist mit etwas überschreibst, statt vergleichst?!
Die Funktion wird dutzende male aufgerufen und läuft klaglos. Nur in einigen seltenen Fällen halt nicht :-(