Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  MySQL (PDO) päring ei tööta märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
Stemugram
HV kasutaja

liitunud: 02.12.2001




sõnum 29.09.2019 21:58 MySQL (PDO) päring ei tööta vasta tsitaadiga

Ma ei mõista milles on probleem?

Selline päring töötab

php:
  1. $query = $db->prepare('SELECT * FROM `reg_aastad`');
  2. $query->execute();



Aga see ei tööta

php:
  1. $tab='reg_aastad';
  2. $query = $db->prepare('SELECT * FROM `:tab`');
  3. $query->bindParam(':tab', $tab);
  4. $query->execute();

Selline error tuleb:

Fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'aastad.'reg_aastad'' doesn't exist in C:\wamp\www\func.php on line 154
( ! ) PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'aastad.'reg_aastad'' doesn't exist in C:\wamp\www\func.php on line 154


Ma ei mõista milles on probleem. Need peaksid ju põhimõtteliselt sama asi olema.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
Renka
HV Guru
Renka

liitunud: 01.04.2002



Autoriseeritud ID-kaardiga Online

sõnum 29.09.2019 22:52 Re: MySQL (PDO) päring ei tööta vasta tsitaadiga

Stemugram kirjutas:
Ma ei mõista milles on probleem?

Selline päring töötab

php:
  1. $query = $db->prepare('SELECT * FROM `reg_aastad`');
  2. $query->execute();



Aga see ei tööta

php:
  1. $tab='reg_aastad';
  2. $query = $db->prepare('SELECT * FROM `:tab`');
  3. $query->bindParam(':tab', $tab);
  4. $query->execute();

Selline error tuleb:

Fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'aastad.'reg_aastad'' doesn't exist in C:\wamp\www\func.php on line 154
( ! ) PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'aastad.'reg_aastad'' doesn't exist in C:\wamp\www\func.php on line 154


Ma ei mõista milles on probleem. Need peaksid ju põhimõtteliselt sama asi olema.


Topelt quotemine toimub sul seal.

Kasuta nii:

php:
  1. $tab='reg_aastad';
  2. $query = $db->prepare('SELECT * FROM :tab');
  3. $query->bindParam(':tab', $tab);
  4. $query->execute();

_________________
There is no place like 127.0.0.1
Kommentaarid: 70 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karu
HV kasutaja

liitunud: 08.08.2002




sõnum 29.09.2019 23:09 Re: MySQL (PDO) päring ei tööta vasta tsitaadiga

Stemugram kirjutas:
Ma ei mõista milles on probleem?


Aga see ei tööta

php:
  1. $tab='reg_aastad';
  2. $query = $db->prepare('SELECT * FROM `:tab`');
  3. $query->bindParam(':tab', $tab);
  4. $query->execute();


Sa ei saa kasutada :tab asendust tabeli või tabeli väaljade nimes. Kui nimi tuleb tundmatust allikast (kasutajalt), siis pead teisi vahendeid kasutama, et päring turvaline oleks.
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  MySQL (PDO) päring ei tööta
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.