Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wszystko jedną funkcją, czyli SELECT, UPDATE i DELETE
DavidPL
post 3.03.2005, 15:14:35
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 27.04.2004
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Witam,
Postawiłem sobie za cel skonstruowanie metody (jako element większej klasy do obsługi Oracla) którą mógłbym zrobić "wszystko".
Funkcja na wejście ma dostać zapytania SQL (SELECT, UPDATE lub DELETE), natomiast na wyjściu chciałbym mieć:
- jeśli zapytanie wykonało się poprawnie:
- tablicę ze zwróconymi danymi dla SELECT
- TRUE dla UPDATE i DELETE
- jeśli zapytanie nie wykonało się:
- FALSE dla SELECT, UPDATE i DELETE

Sprawa wygląda prosto, ale nie mogę dojść w jaki sposób rozpoznać typ wysłanego zapytania czyli określić czy zapytanie zwraca wyniki czy też nie.
Za wszystkie pomysły i sugestie będę wdzięczny...


--------------------
Pozdrawiam,
Dawid
Go to the top of the page
+Quote Post
dr_bonzo
post 3.03.2005, 15:39:06
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


To proste: rozpoznasz po typie zapytania -- tzn czy zawiera 'SELECT', 'UPDATE' ...


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
DavidPL
post 3.03.2005, 15:48:12
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 27.04.2004
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


A nie ma innego sposobu jak sprawdzanie zapytania SQL czy zawiera jedno z tych słów... Jakaś funkcja OCI8 lub coś w tym stylu?
Nie zauważyłem w manualu, ale może coś mam nie tak z oczami winksmiley.jpg


--------------------
Pozdrawiam,
Dawid
Go to the top of the page
+Quote Post
orson
post 3.03.2005, 16:16:47
Post #4





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

Ostrzeżenie: (0%)
-----


witam ...

ja uzylem najprostszej metody na jaka wpadlem ... trim na zapytaniu a potem sprawdzasz pierwsze 2 litery zapytania [tak na wszelki] ... se to select, up to update itp ... prosto, szybko i bez problemu ...

pozdrawiam


--------------------
Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
Go to the top of the page
+Quote Post
DavidPL
post 4.03.2005, 09:56:36
Post #5





Grupa: Zarejestrowani
Postów: 66
Pomógł: 1
Dołączył: 27.04.2004
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Witam,
Znalazłem rozwiązanie troszkę moim zdaniem lepsze niż sprawdzanie typu zapytania. Wygląda ono tak:

oci_num_fields()

Jeśli zapytanie zwraca wyniki zwraca też jakieś pola (kolumny), a funkcja zwraca ilość tych pól, jeśli zapytanie nie zwraca żadnych wyników ilość pól jest równa zero.
Żeby nie było nie domówień, jeśli zapytanie typu SELECT nie zwróci żadnych danych z powodu niespełnienia warunku zapytania ilość pól jest zwracana poprawnie, czyli jest dodatnia.


--------------------
Pozdrawiam,
Dawid
Go to the top of the page
+Quote Post
SongoQ
post 4.03.2005, 10:11:14
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Pomysl jest bardzo dobry i latwo bedzie z impementacja czegos takiego.
Zastanawia mnie jeszcze kwestia obslugi bledow zwracanych przez ORACLE.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.06.2025 - 07:18