Autor | Zpráva | ||
---|---|---|---|
Peter45 Profil |
#1 · Zasláno: 8. 10. 2009, 09:50:28
<? include "connect.php"; $aktualtime=Time(); $ins = MySQL_Query("UPDATE users SET active = '1' WHERE id = '$d' AND email = '$l' datum-aktivacie = '$aktualtime' "); if ($ins) echo "<center><h1>Registrácia bola ukončená. Pre návrat kliknite SEM</h1></center>"; ?> Funguje mi to bez toho datumu (datum-aktivacie = '$aktualtime') ked tam doplnim datum tak uz nic,ako sa da vypisat chyba? |
||
nightfish Profil |
#2 · Zasláno: 8. 10. 2009, 10:02:30
chybí ti tam logická spojka (AND, OR) před datum-aktivacie
kolem datum-aktivacie napiš pro jistotu zpětné apostrofy... `datum-aktivacie` |
||
Joker Profil |
#3 · Zasláno: 8. 10. 2009, 10:05:50
Ještě doplním druhou odpověď:
Peter45: „ako sa da vypisat chyba?“ mysql_error |
||
Peter45 Profil |
#4 · Zasláno: 8. 10. 2009, 10:10:09
<? include "connect.php"; $aktualtime=Time(); $ins = MySQL_Query("UPDATE users SET active = '1' WHERE id = '$d' AND email = '$l' OR datum = '$aktualtime' "); if ($ins) echo "<center><h1>Registrácia bola ukončená. Pre návrat kliknite SEM</h1></center>"; ?> Skusil som toto,sice to zas funguje tak ze aktivuje ale nezapise datum aktivace... |
||
Joker Profil |
#5 · Zasláno: 8. 10. 2009, 10:13:52 · Upravil/a: Joker
Peter45:
„nezapise datum aktivace“ V dotazu používáte datum pro vyhledání, neukládá se. Ten dotaz měl asi vypadat nějak takhle: UPDATE users SET active = '1', datum = '$aktualtime' WHERE id = '$d' AND email = '$l' |
||
nightfish Profil |
#6 · Zasláno: 8. 10. 2009, 10:19:39
ááááha
opět se jednou ukazuje, jak je vhodné napsat, co od uvedeného kódu očekáváte, hned do prvního příspěvku |
||
Peter45 Profil |
#7 · Zasláno: 8. 10. 2009, 10:32:05
Tak najprv som mal v db pomenovane pole (datum-aktivacie) co neslo asi pre tu pomlcku...
premenoval som len na datum a pouzil kod vyssie a zda sa ze je to ok...ale aj tak nechapem preco nezapise datum ale dake cislo 1254990528,,co to znamena? |
||
Joker Profil |
#8 · Zasláno: 8. 10. 2009, 10:39:08
Peter45:
„aj tak nechapem preco nezapise datum ale dake cislo“ Přečetl jste si v manuálu, co vrací funkce time()? |
||
Medvídek Profil |
#9 · Zasláno: 8. 10. 2009, 10:40:33 · Upravil/a: Medvídek
Peter45
Protože to funkce Time(); dělá :) vrací počet sekund od 1. ledna 1970 Ty by si chtěl spíše Date ("H:i:s"); , ne ? |
||
Peter45 Profil |
#10 · Zasláno: 8. 10. 2009, 10:58:13
Date("Y-m-d")...Date("H:i:s")...
Tak prva moznost vypise len rok a druha zas len mesiac...ako teda zapisem den mesiac rok? Poprosim odkaz na ten manual dakujem... |
||
Nox Profil |
#11 · Zasláno: 8. 10. 2009, 11:09:15
„Tak prva moznost vypise len rok a druha zas len mesiac“
to...asi ne... první vypíše rok-měsíc-den a druhá hodiny:minuty:sekundy, ne? www.php.net bylo by vhodnější mít sloupec typu date nebo datetime pokud to chceš zapisovat takto navíc pokud zapisuješ aktuální čas, tak můžeš využít MySQL funkcí CURDATE() a NOW() a (konstruktu?) interval |
||
Peter45 Profil |
#12 · Zasláno: 8. 10. 2009, 11:14:18 · Upravil/a: Peter45
Nie ta prva moznost vypise iba rok neviem preco
Pole datum v db mam nastavene na INT11,,,nema tam byt teda este daco ine? Ano zmenil som na DATE a funguje to,ok vdaka za rady |
||
Joker Profil |
#13 · Zasláno: 8. 10. 2009, 11:31:23 · Upravil/a: Joker
Peter45:
„Pole datum v db mam nastavene na INT11“ No a tak proč se vlastně divíte, že se tam cpe číslo, když sloupec je typu číslo? :-) Jinak time() + sloupec INT v databázi by fungovalo, jen to není ideální volba datového typu. DATETIME v databázi a NOW() je asi nejlepší volba pro aktuální čas. |
||
Časová prodleva: 15 let
|
0