Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja DECODE zwraca złą wartość
Forum PHP.pl > Forum > Bazy danych > MySQL
Rajdon
Witam,

nie wiem dlaczego ale zakodowany string poprzez funkcję ENCODE() w MySQL nie jest równy tej która zwraca DECODE(); Dlaczego ? ;/

Przykład

$pass = ENCODE('text','salt');
$pass2 = DECODE('$pass','salt');

I wynik $pass2 jest inny niż $pass ;/ dlaczego ?
nospor
Niby mowisz o mysql, pokazujesz kod php.....

W mysql to wszystko dziala
SELECT DECODE(ENCODE('text do zakodowania','salt'),'salt')
wiec nie wiem o co ci chodzi
Rajdon
Co w tym dziwnego że pokazuję kod php, mówisz jakby nie mozna było uzywać mysql w php....


Zapytanie w stylu który użyłes dziła bez problemu, ale gdy próbuje skorzystać z wartości zapisanej w zminnej lub nawet w bazie dostje dziwne wyniki przykład:

  1. UPDATE Tab SET haslo = DECODE('SELECT usr_password FROM `Users` WHERE usr_id = 1', 'salt') WHERE usr_id = 1


mógłbyś spróbować z czymś takim ? Mi zwraca zupełnie coś innego niż oczekuje...
nospor
Cytat
Co w tym dziwnego że pokazuję kod php, mówisz jakby nie mozna było uzywać mysql w php....
Uzywac mozna, ino trzeba wiedziec jak, ty nie wiesz. Mowisz o funkcji ENCODE i DECODE w mysql a uzywasz ich bezposrrednio w PHP (w kodzie w pierwszym poscie). Rozumiesz??

DECODE('SELECT usr_password FROM `Users` WHERE usr_id = 1', 'salt')
Przeciez ty tutaj decodujesz tekst 'SELECT usr_password FROM `Users` WHERE usr_id = 1' a nie pole usr_password. Nie odrozniasz tekstu zapytania od wyniku zapytania?

Zajrzyj do manuala
http://dev.mysql.com/doc/refman/5.0/en/update.html
Tam masz pokazane jak robic UPDATE danych w jednej tabeli danymi z innej tabeli
Rajdon
Cytat(nospor @ 22.07.2013, 19:54:53 ) *
uzywasz ich bezposrrednio w PHP (w kodzie w pierwszym poscie). Rozumiesz??


Tak tam jest żle,

Cytat
Przeciez ty tutaj decodujesz tekst 'SELECT usr_password FROM `Users` WHERE usr_id = 1' a nie pole usr_password. Nie odrozniasz tekstu zapytania od wyniku zapytania?


mógłbyś to poprawić tak aby korzystało z select ? Jak uzyskać wynik zapytanai w tamtym miejscu ?
nospor
Przeciez napisalem:
Cytat
Zajrzyj do manuala
http://dev.mysql.com/doc/refman/5.0/en/update.html
Tam masz pokazane jak robic UPDATE danych w jednej tabeli danymi z innej tabeli

zaden select ci do tego nie potrzebny. Wszystko masz w linku
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.