Dotaz na databázi s pomlčkou v názvu sloupce
- Barbarossa
- Člen | 74
Zdravím,
jsem úplný začátečník s Nette a potřeboval bych poradit s problémem
vykonání dotazu.
Vypisuji data z tabulky, která se jmenuje ok-kategorie. Nette však můj dotaz
vyhodnotí jako:
SELECT * FROM `ok
-kategorie
`
$this->connection->table('ok-kategorie');
Na této tabulce mám postavený celý systém, tak se mi nechce měnit
pomlčku za podtržítko (které funguje správně).
Je v Nette nějaké řešení jak tento dotaz položit správně?
Díky moc za každou radu.
- stefi023
- Člen | 71
Co je na to dotazu SELECT * FROM `ok-kategorie
` spatne?
Oescapovane je to spravne… Jinak nevim Nette\Database nepouzivam…
i kdyz parkrat jsem take s pomlckou mel v ruznych verzich mysql/na ruznych OS problem (nejen na jmenech tabulek, ale i sloupcu, uzivatelu,… ), proto se jim vyhybam jak cert krizi :)
- Barbarossa
- Člen | 74
stefi023 napsal(a):
Co je na to dotazu
SELECT * FROM `ok-kategorie
` spatne?
Omlouvám se za chybné uvedení (v diskusi se odstranily ty apostrofy).
Takhle to můj dotaz chápe Nette:
SELECT * FROM `ok`-`kategorie`
Nicméně už jsem to vyřešil normálním způsobem:
->query("SELECT * FROM `ok-kategorie`");
Teď hlavně řeším jak vypsat stromovou strukturu té kategorie.
- redhead
- Člen | 1313
A nejde tohle? (střílím od boku)
$this->connection->table('`ok-kategorie`');
Nicméně, máš poslední verzi Nette? Když tak zadej issue na GitHub, @hrach to snad vyřeší (mám ale pocit, že už jsem nějakou podobnou chybu s umístěním backticks na fóru viděl).
Editoval redhead (12. 2. 2013 21:06)
- Barbarossa
- Člen | 74
redhead napsal(a):
A nejde tohle? (střílím od boku)
$this->connection->table('`ok-kategorie`');
Nicméně, máš poslední verzi Nette? Když tak zadej issue na GitHub, @hrach to snad vyřeší (mám ale pocit, že už jsem nějakou podobnou chybu s umístěním backticks na fóru viděl).
To už jsem také zkoušel, vyhodí to tuto chybu:
SHOW FULL COLUMNS
FROM ```ok-kategorie```
Nette mám aktuální týden, protože s ním teprve začínám :)