[PostgreSQL] Hmmm... gdzie tu błąd?
Mateusz Szczyrzyca - 22-11-2006 00:03
[PostgreSQL] Hmmm... gdzie tu błąd?
Witam serdecznie,
Mam w kodzie PHP coś takiego:
$sql="SELECT session_id FROM $db_table_sessions WHERE session_id = '$session_id' AND (dodano + INTERVAL '1 hour' > current_timestamp) AND host = '$host';";
Jest sobie tabela $db_table_sessions o polach:
- session_id - dodano - host - for_id
W postgresql.log owo zapytanie wygląda tak (efekt działania skryptu):
/-- postgresql.log --
LOG: duration: 7.857 ms statement: SELECT session_id FROM strona_sessions WHERE session_id = '0a0e8cb1c0180f2f9fccd9c16ea2988b' AND dodano + INTERVAL '1 hour' > current_timestamp AND host = '127.0.0.1';
\--
Czyli niby wszystko ok.
I jak się tego loga z PostgreSQL przeklei bezpośrednio do prompta bazy, to działa to bez problemu. Zatem to od skryptu PHP powinno działać, ale nie jest tak do końca...
Gdy robi to skrypt PHP, mam jeszcze to:
/-- postgresql.log --
ERROR: syntax error at or near "WHERE" at character 20 ERROR: syntax error at or near "WHERE" at character 20
\--
To jest 2x po każdym takim zapytaniu. Gdzie ten błąd niby? Co jest źle? Skoro zalogowane zapytanie w bazie działa mi ręcznie, to dlaczego takie samo nie działa dla skryptu PHP?
Proszę o pomoc, bo naprawdę nie wiem w czym rzecz...
-- { <http://www.rowerowe.net> - wycieczki rowerowe, zawody, sprzęt } { <http://www.bikertrzebinia.pl> - trzebińska grupa rowerowa } { <http://www.abstynenci.pl> - Internetowy Serwis Abstynentów } { <http://www.annihitek.net> - mój blog }
c_b - 22-11-2006 00:04
Mateusz Szczyrzyca napisał(a): > Witam serdecznie, > > Mam w kodzie PHP coś takiego: > > $sql="SELECT session_id FROM $db_table_sessions WHERE > session_id = '$session_id' AND > (dodano + INTERVAL '1 hour' > current_timestamp) AND host = '$host';";
Oraclowi nie podoba sie ten srednik na koncu zapytania z PHPa, wiec moze postgres tez tego nie lubi.
pozdr c_b
Mateusz Szczyrzyca - 22-11-2006 00:04
2006-11-21: c_b wrote: > Mateusz Szczyrzyca napisał(a): >> Witam serdecznie, >> >> Mam w kodzie PHP coś takiego: >> >> $sql="SELECT session_id FROM $db_table_sessions WHERE >> session_id = '$session_id' AND >> (dodano + INTERVAL '1 hour' > current_timestamp) AND host = '$host';"; > > Oraclowi nie podoba sie ten srednik na koncu zapytania z PHPa, > wiec moze postgres tez tego nie lubi.
Ale tylko z tym zapytaniem mam problem, ta reszta pisana z tymi średnikami na końcu działa dobrze.
-- { <http://www.rowerowe.net> - wycieczki rowerowe, zawody, sprzęt } { <http://www.bikertrzebinia.pl> - trzebińska grupa rowerowa } { <http://www.abstynenci.pl> - Internetowy Serwis Abstynentów } { <http://www.annihitek.net> - mój blog }
Krzysztof Krzyżaniak - 22-11-2006 00:04
Mateusz Szczyrzyca <annihilator@poczta.onet.pl> writes:
> Witam serdecznie, > > Mam w kodzie PHP coś takiego: > > $sql="SELECT session_id FROM $db_table_sessions WHERE > session_id = '$session_id' AND > (dodano + INTERVAL '1 hour' > current_timestamp) AND host = '$host';"; > > Jest sobie tabela $db_table_sessions o polach: [..] > To jest 2x po każdym takim zapytaniu. Gdzie ten błąd niby? Co jest źle? > Skoro zalogowane zapytanie w bazie działa mi ręcznie, to dlaczego takie > samo nie działa dla skryptu PHP?
Najprawdopodobniej $db_table_sessions nie masz tego co myślisz, że masz.
eloy -- -------e-l-o-y----------------------------e-l-o-y-@-k-o-f-e-i-n-a-.-n-e-t------
jak to dobrze, że są oceany - bez nich byłoby jeszcze smutniej
Mateusz Szczyrzyca - 22-11-2006 00:04
2006-11-21: Krzysztof Krzyżaniak wrote: > Mateusz Szczyrzyca <annihilator@poczta.onet.pl> writes: > >> Witam serdecznie, >> >> Mam w kodzie PHP coś takiego: >> >> $sql="SELECT session_id FROM $db_table_sessions WHERE >> session_id = '$session_id' AND >> (dodano + INTERVAL '1 hour' > current_timestamp) AND host = '$host';"; >> >> Jest sobie tabela $db_table_sessions o polach: > [..] >> To jest 2x po każdym takim zapytaniu. Gdzie ten błąd niby? Co jest źle? >> Skoro zalogowane zapytanie w bazie działa mi ręcznie, to dlaczego takie >> samo nie działa dla skryptu PHP? > > Najprawdopodobniej $db_table_sessions nie masz tego co myślisz, że > masz.
Najprawdopodobniej, źle przeczytałeś, co napisałem. :)
-- { <http://www.rowerowe.net> - wycieczki rowerowe, zawody, sprzęt } { <http://www.bikertrzebinia.pl> - trzebińska grupa rowerowa } { <http://www.abstynenci.pl> - Internetowy Serwis Abstynentów } { <http://www.annihitek.net> - mój blog }
Michal Jankowski - 22-11-2006 00:04
Mateusz Szczyrzyca <annihilator@poczta.onet.pl> writes:
> Mam w kodzie PHP coś takiego: > > $sql="SELECT session_id FROM $db_table_sessions WHERE > session_id = '$session_id' AND > (dodano + INTERVAL '1 hour' > current_timestamp) AND host = '$host';"; > > Jest sobie tabela $db_table_sessions o polach:
Tabela jest $db_table_sessions czy db_table_sessions?
A jeśli wydaje ci się, że masz w zmiennej PHP $db_table_sessions nazwę tabeli bazy danych, to sprawdź.
MJ
webNet - 22-11-2006 00:04
Mateusz Szczyrzyca napisał(a): > Witam serdecznie, > > Mam w kodzie PHP coś takiego: > > $sql="SELECT session_id FROM $db_table_sessions WHERE > session_id = '$session_id' AND > (dodano + INTERVAL '1 hour' > current_timestamp) AND host = '$host';"; > [ciach]
Może prymitywny sposób na pomoc ale wpisz pod ta linijką
echo $sql;
i zobacz co ci wypluje skrypt i spórbuj to odpalic w postgresie,
Tomek
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?=
postgresql - int/int
postgresql Select count(*) czy raczej Select count(ID)
[PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?=
[postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?=
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
[PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?=
Postgres - replikcja master-master
Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL]
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
zanotowane.pldoc.pisz.plpdf.pisz.pladwokat.keep.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|