Centar za edukaciju-BiH



#11 24.08.2020 11:42
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,807


Predmet:Re: PHP PDO ne prihvaca ime table kao parametar
treba biti oprezan sa sql kao stringom

ovo ne radi zbog toga jer nakon FROM nema razmaka
'SELECT MAX(raspored_datum) AS raspored_datum FROM' .$imeTable);

prije izvodenja sql izgleda ovako:
sql=SELECT MAX(raspored_datum) AS raspored_datum FROMimeTable

ovo radi jer ima razmak nakon FROM
'SELECT MAX(raspored_datum) AS raspored_datum FROM ' .$imeTable);

prije izvodenja sql izgleda ovako
sql=SELECT MAX(raspored_datum) AS raspored_datum FROM imeTable
zivot je moja domovina.
↑  ↓

#12 24.08.2020 19:21
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,642


Predmet:Re: PHP PDO ne prihvaca ime table kao parametar
Hehe nema tu puno filozofije.
Imas variablu i imas string te vrijednost variable i string cine SQl string.
Posto je SQL sa string Znaci moramo ga oiviciti znacima navoda.
Imamo dvije vrste znaka navoda koje funkcinisu i to sa dvije crtice ili klasicni znak navoda i sa jednom ili kako mi zovemo apostrof.
U PHP ako u strngu oivicenom pravim znakom navoda upisemo neku variablu PHP ce je prepoznati,
Primjer:
$imetabele="Tabela1";
$sql="SELECT * FROM $imetabele";
Kao reziltat dobit cemo string
SELECT * FROM Tabela1
Ukoliko pak oivicimo string sa apostrofom tada PHP ne prepoznaje variaablu pa Bi to izgledalo ovako:
$sql='SELECT * FROM $imetabele';
Kao reziltat dobit cemo string
SELECT * FROM $imetabele
Znaci neispravno.
Morali bi pisati sql na sledeci nacin:
$sql='SELECT * FROM ' . $imetabele;
Na isti nacin mozemo napisati i sa pravim znakom navoda.
$sql="SELECT * FROM " . $imetabele;
Stim kada pisemo ovako moramo voditi racuna o jos jednoj stvari tj. o razmaku izmedju rijeci u ovom slucaju konkretno
izmedju rijeci FROM I vrijednosti iz variable imetabele.
Mozemo iz from dodati jedno prazno mjesto ili pak u imenu tabele dodati ispred jedno prazno mjesto:
$imetabele=" Tabela1"
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +01:00. Trenutno vrijeme: 2: 05 am.