Autor | Zpráva | ||
---|---|---|---|
majklcze Profil * |
čau jsem začátečník v PHP, napsal sem si tuhle funkci na upravu mySQL databaze ale nefunguje mi, může mi někdo poradit?
function inccash ($uzivatel, $link) { $link=mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD); mysql_select_db(SQL_DBNAME); $konec=false; $vysledek1=mysql_query("select referal from uzivatele where registracedokoncena=1 and id=".$uzivatel, $link); if (mysql_num_rows($vysledek1)==0): $konec=true; elseif (konec==false): $radek1 = mysql_fetch_array($vysledek1); $id2 = $radek1["referal"]; mysql_query("update uzivatele set referals=referals+1 and cash=cash+10 where id=".$id2); endif; $vysledek2=mysql_query("select referal from uzivatele where registracedokoncena=1 and poslalsms=1 and id=".$id2, $link); if (mysql_num_rows($vysledek2)==0): $konec=true; elseif (konec==false): $radek2 = mysql_fetch_array($vysledek2); $id3 = $radek2["referal"]; mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id3); endif; $vysledek3=mysql_query("select referal from uzivatele where registracedokoncena=1 and poslalsms=1 and id=".$id3, $link); if (mysql_num_rows($vysledek3)==0): $konec=true; elseif (konec==false): $radek3 = mysql_fetch_array($vysledek3); $id4 = $radek3["referal"]; mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id4); endif; $vysledek4=mysql_query("select referal from uzivatele where registracedokoncena=1 and poslalsms=1 and id=".$id4, $link); if (mysql_num_rows($vysledek4)==0): $konec=true; elseif (konec==false): $radek4 = mysql_fetch_array($vysledek4); $id5 = $radek4["referal"]; mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id5); endif; } má to dělat to že zadám první ID někoho v databázi, vyhledám položku REFERAL což je integer v databazi pro toto ID. Tomuto REFERALOVI prictu CASH, REFERALS a zase jeho REFERALOVI to same. Moderátor Chamurappi: Smazal jsem ti z titulku „pls HELP“, nauč se prosit česky, tatare.
|
||
PHP_Nemaster Profil |
#2 · Zasláno: 18. 5. 2009, 17:39:32
Je ten kód úplný? ( Jenom že tam nevidím zahrnovaný soubor kde by byly informace s tím co je (SQL_HOST, SQL_USERNAME, SQL_PASSWORD); )
|
||
majklcze Profil * |
#3 · Zasláno: 18. 5. 2009, 17:48:55
no ten mam v includu před voláním funkce, to se musí dát i do té funkce??
|
||
PHP_Nemaster Profil |
#4 · Zasláno: 18. 5. 2009, 17:55:42
Myslím že ne. V tom případě nevím v čem je chyba.
|
||
PHP_Nemaster Profil |
#5 · Zasláno: 18. 5. 2009, 17:56:54
Myslím že ne. V tom případě nevím v čem chyba.
|
||
WertriK Profil |
#6 · Zasláno: 18. 5. 2009, 18:08:43 · Upravil/a: WertriK
function inccash ($uzivatel, $link) { $link=mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD); mysql_select_db(SQL_DBNAME); $konec=false; $vysledek1=mysql_query("select referal from uzivatele where registracedokoncena=1 and id=".$uzivatel, $link); if (mysql_num_rows($vysledek1)==0): $konec=true; elseif ($konec==false): $radek1 = mysql_fetch_array($vysledek1); $id2 = $radek1["referal"]; mysql_query("update uzivatele set referals=referals+1 and cash=cash+10 where id=".$id2); endif; $vysledek2=mysql_query("select referal from uzivatele where registracedokoncena=1 and poslalsms=1 and id=".$id2, $link); if (mysql_num_rows($vysledek2)==0): $konec=true; elseif ($konec==false): $radek2 = mysql_fetch_array($vysledek2); $id3 = $radek2["referal"]; mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id3); endif; $vysledek3=mysql_query("select referal from uzivatele where registracedokoncena=1 and poslalsms=1 and id=".$id3, $link); if (mysql_num_rows($vysledek3)==0): $konec=true; elseif ($konec==false): $radek3 = mysql_fetch_array($vysledek3); $id4 = $radek3["referal"]; mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id4); endif; $vysledek4=mysql_query("select referal from uzivatele where registracedokoncena=1 and poslalsms=1 and id=".$id4, $link); if (mysql_num_rows($vysledek4)==0): $konec=true; elseif ($konec==false): $radek4 = mysql_fetch_array($vysledek4); $id5 = $radek4["referal"]; mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id5); endif; } Chyby, kterých jsem si všiml, jinak jsem to nestudoval. |
||
majklcze Profil * |
#7 · Zasláno: 18. 5. 2009, 18:17:16
no stejně to nefunguje teď ten kód vypadá takhle:
function inccash ($uzivatel, $link) { $konec=false; $vysledek1=mysql_query("select * from uzivatele where registracedokoncena=1 and id=".$uzivatel, $link); if (mysql_num_rows($vysledek1)==0): $konec=true; elseif ($konec==false): $radek1 = mysql_fetch_array($vysledek1); $id2 = $radek1["referal"]; $referals2 = $radek1["referals"]; if ($referals2<=10): mysql_query("update uzivatele set referals=referals+1 and cash=cash+10 where id=".$id2); else: mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id2); endif; endif; $vysledek2=mysql_query("select * from uzivatele where registracedokoncena=1 and poslalsms=1 and id=".$id2, $link); if (mysql_num_rows($vysledek2)==0): $konec=true; elseif ($konec==false): $radek2 = mysql_fetch_array($vysledek2); $id3 = $radek2["referal"]; mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id3); endif; $vysledek3=mysql_query("select * from uzivatele where registracedokoncena=1 and poslalsms=1 and id=".$id3, $link); if (mysql_num_rows($vysledek3)==0): $konec=true; elseif ($konec==false): $radek3 = mysql_fetch_array($vysledek3); $id4 = $radek3["referal"]; mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id4); endif; $vysledek4=mysql_query("select * from uzivatele where registracedokoncena=1 and poslalsms=1 and id=".$id4, $link); if (mysql_num_rows($vysledek4)==0): $konec=true; elseif ($konec==false): $radek4 = mysql_fetch_array($vysledek4); $id5 = $radek4["referal"]; mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id5); endif; } kdo poradí??? no a volám to teda takhle $uzivatel=$_GET['code']; $link=mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD); mysql_select_db(SQL_DBNAME); inccash($uzivatel, $link); |
||
majklcze Profil * |
#8 · Zasláno: 18. 5. 2009, 19:24:20
takze chyba byla v kazdem
mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id5); nemuzu upravovat dva prvky najednou, ten and tam nesmi byt musim udelat mysql_query("update uzivatele set referals=referals+1 where id=".$id5); mysql_query("update uzivatele set cash=cash+5 where id=".$id5); ale myslel sem ze to jde? |
||
Alphard Profil |
#9 · Zasláno: 18. 5. 2009, 19:37:11
majklcze:
lze upravit dva sloupce najednou, ale s jinou syntaxí mysql_query("update uzivatele set referals=referals+1, cash=cash+5 where id=".$id5); |
||
majklcze Profil * |
#10 · Zasláno: 19. 5. 2009, 17:20:43
ajo ok, no a ještě dotaz, jaky je rozdil mezi temato dvema zapisama???
mysql_query("update uzivatele set referals=referals+1, cash=cash+5 where id=".$id5); mysql_query("update uzivatele set referals=referals+1, cash=cash+5 where id='".$id5."'"); neboli u druheho davam id='nejake cislo' , to by bylo asi chybne ne? by se to tam chtelo zapsat jako string? |
||
AM_ Profil |
#11 · Zasláno: 19. 5. 2009, 21:31:12
majklcze
Standard SQL zápis čísel do uvozovek nepodporuje (bral by to jako string a tedy chybu protože id je zřejmě INT), ale MySQL toto podporuje. Typ hodnoty udává typ sloupce, se kterým se pracuje (tedy když porovnáváš id='5', bere to MySQL jako INT, protože id je INT). Někdo má radši zápis čísel bez uvozovek, protože odpovídá SQL standardu, někdo (včetně mě) zase dává do uvozovek všechny hodnoty, když děláš např. nějaký hodně abstraktní systém a píšeš funkci, kde nevíš, s jakými sloupci se bude ve výsledku pracovat, zjednodušíš si práci vložením prostě všeho do uvozovek. V příkladu, který jsi napsal, je to úplně jedno, v MySQL jsou zápisy identické. |
||
majklcze Profil * |
#12 · Zasláno: 20. 5. 2009, 12:38:40
ok, diky moc všem, supr fórum :)
|
||
Časová prodleva: 15 let
|
0