Odkazy: dibi | API reference

Forum: [česky] [english]

dibi fórum

tiny ‘n’ smart
database layer

Nejste přihlášen(a)

#1 před 5 měsíci

Semik
Člen
Registrovaný: 22. 11. 2009
Příspěvky: 49

Problém s uvozovkami, Oracle

Zdravím, mám problém s dotazy na databázi driverem oracle.

Posílám úplně jednoduchý dotaz:

->query('SELECT [id_uzivatele], [email], [heslo], [nazev_role]
         FROM [www_uzivatele]
         JOIN [www_role] using([id_role])
         WHERE [email] = %s', $email)->fetch();

Problém je ten že výsledkem je exception:
oci_execute(): ORA-00905: missing keyword

na řádku 108, query($sql) metody oracle driveru

oci_execute($res, $this->autocommit ? OCI_COMMIT_ON_SUCCESS : OCI_DEFAULT);

V profileru je dotaz jako

SELECT "id_uzivatele", "email", "heslo", "nazev_role"
FROM "www_uzivatele"
JOIN "www_role" using("id_role")
WHERE "email" = 'uuu'

Myslím že problém je v tom, že se řetězec zpracovává jako string taky ve dvojitých uvozovkách a to s těmi co už uzavírají sloupce a tabulky nejde dohromady.

 

#2 před 5 měsíci

HosipLan
dibi guru
Registrovaný: 1. 6. 2009
Příspěvky: 2630

Re: Problém s uvozovkami, Oracle

A jak by měl dotaz podle tebe vypadat?


Neptej se, jestli se můžeš ptát | Blog | Twitter | GitHubCMS Kdyby

Nette Jabber Room – nette@conf.netlab.cz , všichni jste vítáni

 

#3 před 5 měsíci

Semik
Člen
Registrovaný: 22. 11. 2009
Příspěvky: 49

Re: Problém s uvozovkami, Oracle

Takže změna, chyba odhalena.
Nastává při volání explainu.
DibiProfiler před dotaz pouze přidává EXPLAIN, což je ale v Oracle špatně, tam je EXPLAIN PLAN.

 

Zápatí