Autor | Zpráva | ||
---|---|---|---|
Steriogram Profil * |
#1 · Zasláno: 4. 11. 2014, 22:14:26
Ahoj, snažím se napsat si první skript s napojením na databázi a chtěl bych se zeptat, kde mám chybu :
$sql = $conn->prepare("SELECT * FROM :table WHERE :where=:where_is"); $sql->execute(array(':table' => $this->table,':where' => $this->where, ':where_is' => $this->where_is)); protože to neustále vyhazuje chybu Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''tabulka' WHERE 'sloupec'='hodnota'' at line 1' Z chyby soudím, že bude problém v SQL dotazu, ale nevím, jak ho s pomocí prepare() sestavit. Budu vděčný za všechny rady. |
||
Jan Tvrdík Profil |
#2 · Zasláno: 4. 11. 2014, 22:48:37
Steriogram:
Název tabulky a sloupce nelze v prepared statements parametrizovat. |
||
Alphard Profil |
#3 · Zasláno: 5. 11. 2014, 00:17:22
Můžete sáhnout např. k dibi.
Tím ale nechci říct, že takto obecný (a zároveň velmi omezený) dotaz je správná cesta. Lepší je do where klauzule např. dynamicky rozvinout asociativní pole apod. |
||
Časová prodleva: 9 let
|
0