Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 14 odgovora
  • 4.614 pregleda

Najnovija ↓

Problem sa UPDATE - php->MySQL 27.12.2007. u 19:58 · pre 229 meseci #1
Radim jedan malo poveci projekt i gotov sam, sad cekam hosting, i radim neke detalje i evo dođem do tu i zapnem, ne znam zašto, ali već koristim slicnu funkciju na drugim pageovima i radi bez problema....

evo tog spornog dijela


znaci u bazi imam jedan column "out" koji broji izlazne klikove za pojedine stvari i njega treba kad se pokrene ovaj script da se uveća za +1

Code:
<?php
include("connect.php"); 
    $koji_id = addslashes($_GET['id']); // id znaci getam ga ?id=2 npr.
    
    function out($id) //count the vote and save ip of last voter to avoid cheating
{
        $rezultat= mysql_query("select * from toplist where id='$id'"); //
    while($uzmi = mysql_fetch_array($rezultat)){                               // to je dodano jer sam mislio da
        $do_sada = $uzmi['out'];                                                  //  out= out+1 nece da radi, ali eto
        $nova=$do_sada++;                                                        //                    ne radi ni ovako
        }
        $update="UPDATE linkovi SET out= '$nova' WHERE id= '$id'";
    mysql_query($update)
    or die('brojac - greska: '.mysql_errno().', '.mysql_error());
}

        out($koji_id);  //pozivam ispod u if-u ali nije bitno sad
        

?>


na update sam stavljao i .... SET out= out+1 ali opet grešku daje istu, pa sam onda pokušao s vađenjem pa onda $do_sada++;
Code:

1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'out= '1' WHERE id= '2'' at line 1
Potpis
Get-Host.net Kompletne web usluge
Get-Host.net - EliteSecurity predstavljanje

Aktualni kuponi:
----
Re: Problem sa UPDATE - php->MySQL 27.12.2007. u 22:59 · pre 229 meseci #3
idem probat, ali zašto onda u drugoj funkciji isto u kojoj updatea bazu samo drugi column 'in' sve radi super na principu in= in+1 ...

evo sa 'out'='$do_sada'
Code:
error: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''out'= '1' WHERE id= '2'' at line 1


i evo sa 'out'='out'+1
Code:
error: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''out'= 'out'+1 WHERE id= '2'' at line 1



... nemam pojma koji k**** se događa
Potpis
Get-Host.net Kompletne web usluge
Get-Host.net - EliteSecurity predstavljanje

Aktualni kuponi:
----
Re: Problem sa UPDATE - php->MySQL 27.12.2007. u 23:21 · pre 229 meseci #4
Ne, ne citas pazljivo... I nema potrebe da se tako izrazavas jer ovaj forum prate i dame, tako da nije prikladno bar prema njima ;)
Nisam napisao ' kao apostrof, nego ` (backticks, znak koje je levo od jedinice na tastaturi)
Da si procitao prvih par recenica na linku koji sam ti ostavio to bi i sam ukapirao.

Btw. i IN je takodje mysql kljucna rec koju bi trebalo izbegavati u davanju imena tabelama i poljima u mysql-u, sto se opet spominje na istom linku koji sam ti dao. (bar pise da trebaju "special treatment for use as identifiers such as table and column names").
Potpis
http://norway.dakipro.com/
Re: Problem sa UPDATE - php->MySQL 27.12.2007. u 23:52 · pre 229 meseci #5
Code:

error: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '¸out¸= ¸out¸+1 WHERE id= '2'' at line 1



opet isto
Potpis
Get-Host.net Kompletne web usluge
Get-Host.net - EliteSecurity predstavljanje

Aktualni kuponi:
----
Re: Problem sa UPDATE - php->MySQL 01.01.2008. u 21:15 · pre 229 meseci #9
Citat:
Frane Marinković:
Code:

//...
$do_sada = $uzmi['out'];
$nova=$do_sada++;                 // GREŠKA!!!
}
$update="UPDATE linkovi SET out= '$nova' WHERE id= '$id'";


Koristio si postinkrement operator ++, dakle prvo je izvšena dodela $nova=$do_sada, pa tek onda uvećano $do_sada++. Uradi prvo inkrementiranje, pa dodelu i biće ok.
Mada, čudna ti je ovo konstrukcija. U komentaru stoji "count the vote and save ip of last voter to avoid cheating". Šta je "last voter"? Upit koji koristiš nema ORDER klauzulu. Osim toga, vrtiš prazne komande u petlji da bi uzeo vrednost poslednjeg sloga, ma šta to značilo, umesto da to uradiš u samom upitu, a da umesto petlje imaš samo jedan, traženi rezultat. Potencijalno, upit može vratiti mnogo slogova, pa ćeš usporiti odziv. Upit može biti npr.
Code:
$rezultat= mysql_query("select * from toplist where TopListID = (select MAX(TopListID) from toplist where id='$id')");

Polje TopListID je auto_increment ID polje koje i inače treba da sadrži svaka tabela, što je dobra praksa.
Potpis
Two beer or not two beer...
Re: Problem sa UPDATE - php->MySQL 03.01.2008. u 20:03 · pre 229 meseci #10
ma to je ostalo od varijable stare koju sam uzimao, i ne znam kako je vama ali evo šta meni izađe kad stitnem "Tildo" ili ti ga botun ispod Esc
Code:
¸


evo Shift + taj gumb
Code:
¨


i evo AltGr + 7
Code:
`



možda su srpske tipkovnice drugaćije nego ove naše :S

nebih znao
Potpis
Get-Host.net Kompletne web usluge
Get-Host.net - EliteSecurity predstavljanje

Aktualni kuponi:
----
Re: Problem sa UPDATE - php->MySQL 04.01.2008. u 10:07 · pre 229 meseci #11
Backtick (http://en.wikipedia.org/wiki/Backtick)
se nalazi ispod Esc na ASCII tastaturama,
ili na AltGr+7 na SR/HR (koje vode poreklo od slovenačke koja je opet napravljena od nemačke tastature).

I, jel radi sa: `out`=`out`+1 ?
Potpis
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
Re: Problem sa UPDATE - php->MySQL 05.01.2008. u 23:33 · pre 229 meseci #14
Nema veze ni sa update-om MySQL baze, nego sa elementarnim programiranjem. U navedenom primeru, konstrukcija:
Code:

$do_sada = $uzmi['out'];
$nova=$do_sada++;

ne čuva za jedan uvećanu, već originalnu vrednost $uzmi['out'] i tu je greška. Nema veze sa srpsko/hrvatskim "tipkovnicama" ;)
Potpis
Two beer or not two beer...
Re: Problem sa UPDATE - php->MySQL 06.01.2008. u 01:51 · pre 229 meseci #15
problem sa tasturom/tipkovnicom je sto se ne koristis engleski kodni raspored [EN], nego srpski, tj. hrvatski i slicno.

druga stvar je sto se pise los i neoptimalan kod pa ovo

Code:

$do_sada = $uzmi['out'];
$nova=$do_sada++;


moze da se napise

Code:

$nova = $uzmi['out'] + 1;


kao sto vidis nema $do_sada, inace vise volim da pisem nazive promenjljivih i funkcija na engleskom jer nema padeza pa je samim tim i manja mogucnost greske. isto vazi i za nazive tabela i polja u bazama
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme