Strona 6 z 6
: 23 listopada 2011, 09:09
autor: LordRuthwen
Kod: Zaznacz cały
ERROR: syntax error at or near "user"
LINE 1: ...ON update_password (oldpass text, cryptpass text, user text)...
^
Dodane:
Czy ma ktoś jeszcze jakieś pomysły?
: 23 listopada 2011, 12:39
autor: mariaczi
Spróbuj zatem zrobić z tego "user" np.: "puser" (może niechybnie coś źle rozumie) i idąc za Bastianem byłoby to tak:
Kod: Zaznacz cały
CREATE FUNCTION update_password (oldpass text, cryptpass text, puser text) RETURNS text AS '
BEGIN
DECLARE currentsalt varchar(20);
DECLARE error text;
SET error = 'incorrect current password';
SELECT substring_index(substr(puser.password,4),_latin1'$',1) INTO currentsalt FROM users WHERE username=puser;
SELECT '' INTO error FROM users WHERE username=puser AND password=ENCRYPT(oldpass,currentsalt);
UPDATE users SET password=cryptpass WHERE username=puser AND password=ENCRYPT(oldpass,currentsalt);
RETURN error;
END; ' language 'SQL';
PS. Usunąłeś wcześniej starą deklarację owej funkcji?