[ Nemanjic @ 17.01.2008. 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.
[ Jbyn4e @ 17.01.2008. 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
[ Nemanjic @ 17.01.2008. 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.=.
[ dakipro @ 17.01.2008. 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?
[ Nemanjic @ 17.01.2008. 10:42 ] @
Jedna promenljiva u samom sql nije bila pod jednostrukim navodnicima.
Code:
$sql = "SELECT....
         WHERE '$variable' = MATCHES ....
         ....";
[ centaur @ 17.01.2008. 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'";
...
[ flylord @ 18.01.2008. 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