Avko |
19.08.2020 13:36 |
Predmet:PHP PDO ne prihvaca ime table kao parametar
Trebalo mi je jedno dobrih tjedan dana da ovo otkrijem.
ovo ne radi
PreuzmiIzvorni kôd (Text):$sql='INSERT INTO :imeTable (red.broj, grad, stanovnika)
VALUES (:redbroj, :grad, :stanovnika)
ON DUPLICATE KEY UPDATE
stanovnika=:stanovnika
';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':imeTable', $imeTable);
$stmt->bindValue(':redbroj', $redbroj);
$stmt->bindValue(':grad', $grad);
$stmt->bindValue(':stanovnika', $stanovnika);
$stmt->execute();
jednom je zxz reao da pristupimo sql upitu kao obicnom stringu kojega mozemo kao hocemo, ocemo ga sprijeda ili straga razdvojiti pa iz toga proizlazi da ovo dolje radi:
PreuzmiIzvorni kôd (Text):$sql='INSERT INTO ' . $imeTable . ' (red.broj, grad, stanovnika)
VALUES (:redbroj, :grad, :stanovnika)
ON DUPLICATE KEY UPDATE
stanovnika=:stanovnika
';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':redbroj', $redbroj);
$stmt->bindValue(':grad', $grad);
$stmt->bindValue(':stanovnika', $stanovnika);
$stmt->execute();
|
Gjoreski |
19.08.2020 17:28 |
Predmet:Re: PHP PDO ne prihvaca ime table kao parametar
ovo tvoje nije klasican string , nema nista ovakvo :stanovnika u klasican sting |
Avko |
20.08.2020 12:00 |
Predmet:Re: PHP PDO ne prihvaca ime table kao parametar
Citiraj Gjoreski:ovo tvoje nije klasican string , nema nista ovakvo :stanovnika u klasican sting
ma to je samo primjer, opcenito. To je broj stanovnika.
Glavno je to da se ne prihvaca imeTable kao parametar. To sam htio reci |
zxz |
21.08.2020 00:21 |
Predmet:Re: PHP PDO ne prihvaca ime table kao parametar
ovo ON DUPLICATE KEY UPDATE mislim da je visak odnsno nema smisla koliko se sjecam jer kod PDO kada naidje na gresku procedura staje tako da je ovo djaba napisano.
Mogu provjeriti jer nisam 100% siguran.
Moze se napisati i ovako:
$data = [
'redbroj' => $redbroj,
'grad' => $grad,
'stanovnika => $stanovnika];
$sql = "INSERT INTO $imeTable (redbroj, grad, stanovnika) VALUES (:redbroj, :grad, :stanovnika)";
$stmt= $pdo->prepare($sql);
$stmt->execute($data); |
Avko |
21.08.2020 08:49 |
Predmet:Re: PHP PDO ne prihvaca ime table kao parametar
Citiraj zxz:ovo ON DUPLICATE KEY UPDATE mislim da je visak odnsno nema smisla koliko se sjecam jer kod PDO kada naidje na gresku procedura staje tako da je ovo djaba napisano.
Mogu provjeriti jer nisam 100% siguran.
Moze se napisati i ovako:
$data = [
'redbroj' => $redbroj,
'grad' => $grad,
'stanovnika => $stanovnika];
$sql = "INSERT INTO $imeTable (redbroj, grad, stanovnika) VALUES (:redbroj, :grad, :stanovnika)";
$stmt= $pdo->prepare($sql);
$stmt->execute($data);
znaci ti koristis mysqli, a ne pdo? |
zxz |
22.08.2020 10:09 |
Predmet:Re: PHP PDO ne prihvaca ime table kao parametar
Da koristim najcsce mysqli PDO koristim za zabelu sesije. |
Avko |
23.08.2020 11:04 |
Predmet:Re: PHP PDO ne prihvaca ime table kao parametar
Citiraj zxz:Da koristim najcsce mysqli PDO koristim za tabelu sesije.
prenosis imena tabela sesijom, $_SESSION['imeTable'] ? |
zxz |
23.08.2020 20:36 |
Predmet:Re: PHP PDO ne prihvaca ime table kao parametar
Ne ne $_SESSION je globlna variabla odnosno super globalna koja se upisuje u tabelu sesije.
E ja imam zasebnu klsu PDO konekcije za ovu tabelu jer ja hocu da mi je dostupna i napr kada se registrujes onda upsujem i tvoj id u tu tabelu a moze i jos stosta.
Mozemo ovo obraditi u zaebnoj temi ako hoces. |
Avko |
24.08.2020 09:09 |
Predmet:Re: PHP PDO ne prihvaca ime table kao parametar
Netreba, nisam još na toj razini znanja tako da mislim da nebi pola toga shvatio. |
zxz |
24.08.2020 09:40 |
Predmet:Re: PHP PDO ne prihvaca ime table kao parametar
Da bar napomenem.
Ti mozes koristiti globalne variable $_SESSION samo neces imati svoju tablicu gdje to mozes vidjeti. |