Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: MySQL UPDATE  (Přečteno 2398 krát)

kiflik

  • Návštěvník
  • Příspěvků: 64
    • NUTRION.cz
MySQL UPDATE
« kdy: 15 Února 2009, 17:05:17 »
Nainstaloval jsem si na pokusy mail server dle http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-ubuntu8.04-p4.

Chtěl jsem si udělat v php skript na změnu hesla u emailové schránky a narazil jsem na (pro mě) zarážející funkčnost / chování...

Jestliže spustím v phpMyAdmin:
UPDATE `mail`.`users` SET `password` = ENCRYPT( 'heslo' ) WHERE CONVERT( `users`.`email` USING utf8 ) = 'pokus@example.com' LIMIT 1 ;
je vše OK, ale pokud to samé hodím do php skriptu normálně na server:

mysql_query("UPDATE `mail`.`users` SET `password` = ENCRYPT('heslo') WHERE CONVERT(`users`.`email` USING utf8) = 'pokus@example.com' LIMIT 1");
...dostanu hlášku (otevře se okno) abych vybral uživatele, kterému chci změnit heslo s možnostmi na výběr včetně roota...
Pokud vyberu (kliknu) na nějakého uživatele, nic se nestane (ufff) heslo se nezmění.
Co je ještě zarážející, že ve výpisu uživatelů je uveden uživatel, který již na serveru neexistuje, ale naopak tam někteří existující chybí.

Otázka: proč UPDATE v phpMyAdmin funguje bez otravných hlášek a při použití php skriptu se mi ukazuje, co nechci a nemá být viděno?

Nebyla by tu dobrá duše, která by mě nasměrovala, kde je zakopaný problém = výše popisovaný jev?
DELL XPS 13 - 9350 # Toshiba Portégé R600 SSD # Timeline 3810T

picard

  • Stálý člen
  • **
  • Příspěvků: 563
Re: MySQL UPDATE
« Odpověď #1 kdy: 15 Února 2009, 17:17:14 »
Přečtěte si toto z manuálu PHP : http://cz.php.net/mysql_query

kiflik

  • Návštěvník
  • Příspěvků: 64
    • NUTRION.cz
Re: MySQL UPDATE
« Odpověď #2 kdy: 17 Února 2009, 08:18:24 »
Díky za odkaz, ale v tom to není a nebylo, UPDATE funguje(val) OK. Jen mi občas vyskočilo to okno "Potvrďte prosím, pro kterého uživatele chcete změnit heslo". Po odkliknutí (zavření okna) vše jelo dál k plné spokojenosti.

Včera jsem zjistil, že pokud nepošlu skriptu hesla (staré, nové a nové znovu) vše jako type="password", ale staré jako "text" nebo přidám-li do formuláře jedno pole (input) jiný nežli password, hláška se již neobjeví a skript s UPDATE hladce proběhne.

Výsledek 2 dnů koukání do skriptů... ale proč si Apache and PHP takto postavilo hlavu při zpracování předaných dat z formuláře metodou post je mi záhadou.
DELL XPS 13 - 9350 # Toshiba Portégé R600 SSD # Timeline 3810T

 

Provoz zaštiťuje spolek OpenAlt.