Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

potrebno objasnjenje

[es] :: PHP :: potrebno objasnjenje
(Zaključana tema (lock), by flylord)

[ Pregleda: 723 | Odgovora: 6 ]

Postavi temu

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nemanjic
Novi Sad

Član broj: 73614
Poruke: 41
*.ADSL.neobee.net.

ICQ: 429634758


Profil

icon potrebno objasnjenje17.01.2008. u 07:55

U php skriptu sam uveo promenljivu-string koja predstavlja malo slozeniji sql upit i radi preglednosti sam ga predstavio u formi:
$sql = "**************" .
"..............................." .
"..........................".
"..........................";

Zasto ovako kreiran upit ne prolazi?
Tek kad upit predstavim kao niz stingova i onda ih spojim dobijam zeljeni reziltat?
Dakle:
$sql1=".............";
$sql2=".............";
.
.
.$sqln=".............";

$sql="$sql1....$sqln";

Definitivno mi je nesto promaklo.
17.01.2008. u 07:55 

Jbyn4e
Admin/Developer, Yunix
Zrenjanin - Beograd

Član broj: 422
Poruke: 3077
*.yunix.co.yu.

ICQ: 10450578
Sajt: bio sf.co.yu


Profil

icon Re: potrebno objasnjenje17.01.2008. u 08:26
Pisi normalno, ne zatvaraj string i liniju a da nisi zatvorio liniju sa ;, jer php misli da si zavrsio sa tom linijom. Ako zelis . (konkatenaciju), to mora u istom redu.
Dakle, ili pisi (primer):

$sql = " SELECT *
FROM tabela
WHERE uslov
ORDER BY po_cemu";

ili pisi slicno kao u drugom primeru (samo sa jednom promenljivom, sta ce ti tolike):

$sql = " SELECT * ";
$sql .= "FROM tabela ";
...

Obrati paznju da je kod drugog reda .= a ne samo =, sto znaci na $sql dodaj ovo iza napisano. Pogledaj
http://www.php.net/manual/en/language.operators.assignment.php
17.01.2008. u 08:26 

Nemanjic
Novi Sad

Član broj: 73614
Poruke: 41
*.ADSL.neobee.net.

ICQ: 429634758


Profil

icon Re: potrebno objasnjenje17.01.2008. u 09:50
Vec sam pokusao sa varijantom

Code:

$sql = "SELECT *
FROM tabela
WHERE
...";


i dalje ne pomaze. Ali bar sam dobio odgovor zasto onaj sql ne prolazi. Koriscenje operatora .= i nije bas neko resenje u ovoj situaciji, ipak svaki put nanovo ispisujes $sql.=.
17.01.2008. u 09:50 

dakipro
Dalibor Jovic
PHP Developer, SMDesign, Ciplex
Novi Sad

Moderator
Član broj: 31848
Poruke: 664
89.216.108.*



Profil

icon Re: potrebno objasnjenje17.01.2008. u 10:07
A zasto ova poslednja varijanta ne prolazi?
Mislim, to je klasican nacin pisanja upita, nema razloga zasto ne bi proslo. Koja je greska?
17.01.2008. u 10:07 

Nemanjic
Novi Sad

Član broj: 73614
Poruke: 41
*.ADSL.neobee.net.

ICQ: 429634758


Profil

icon Re: potrebno objasnjenje17.01.2008. u 10:42
Jedna promenljiva u samom sql nije bila pod jednostrukim navodnicima.
Code:
$sql = "SELECT....
         WHERE '$variable' = MATCHES ....
         ....";
17.01.2008. u 10:42 

centaur
Ivan Pavković
web developer, Kaywa AG
Beograd

Član broj: 65691
Poruke: 228
*.adsl-1.sezampro.yu.

ICQ: 249678363
Sajt: www.pavko.info


Profil

icon Re: potrebno objasnjenje17.01.2008. u 11:29
Citat:
dakipro: A zasto ova poslednja varijanta ne prolazi?
Mislim, to je klasican nacin pisanja upita, nema razloga zasto ne bi proslo. Koja je greska?


Dugo sam tako radio.Onda je naišao slučaj kad to jednostavno nije htelo da radi.Zašto, nemam pojma.
Od tada, upit pravim ovako:
Code:

$q  = "SELECT t1.nesto, t2.nesto ";
$q .= "FROM tabela AS t1 ";
$q .= "LEFT JOIN druga_table AS t2 ON (t1.polje = t2.polje) ";
$q .= "WHERE t1.polje2 = '$nesto'";
...

Powered by Slackware 12.1
17.01.2008. u 11:29 

flylord
Ilić Aleksandar
Freedomia (direktor)
Nis/Uzice

Tehnički konsultant
Član broj: 2954
Poruke: 3393
*.dynamic.sbb.co.yu.

Jabber: flylord@elitesecurity.org
ICQ: 4849714
Sajt: blog.itseminar.org


Profil

icon Re: potrebno objasnjenje18.01.2008. u 11:41
Znam da sam surov i da preterujem ali moraju se postuju pravila. I pre nego se pocne pisati po nekom forumu, moraju se procitaju pravila koja vladaju u tom forumu. Na primer, kako se imenuju teme!

LOCK

18.01.2008. u 11:41 

[es] :: PHP :: potrebno objasnjenje
(Zaključana tema (lock), by flylord)

[ Pregleda: 723 | Odgovora: 6 ]

Postavi temu

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.