![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 20.09.2004 Skąd: Konin Ostrzeżenie: (0%) ![]() ![]() |
Witajcie
Mmam takie cos:
I teraz tak, w tabeli mam klucz na ta kolumne uniemozliwiajacy wpisanie powtornie tej samej wartosci. Mam tam tez juz jeden rekord z wartoscia '1'. A wiec wykonanie tego zapytania zwroci blad. I rzeczywiscie zwraca, problem jedynie w tym ze get_last_message mi go nie zwraca :-( Moje pytanie: czy ktos juz przerabial transakcje w php + mssql? Jakie jest na to rozwiazanie? ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 99 Pomógł: 0 Dołączył: 14.07.2003 Skąd: z epoki lodowcowej Ostrzeżenie: (0%) ![]() ![]() |
zauwaz, ze mssql_query zwraca FALSE w przypadku bledu, czyli
$m = mssql_query($query); if ($m == FALSE) ... -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 407 Pomógł: 0 Dołączył: 24.10.2002 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
zabierasz sie za porzadna baze danych, zeby jej dzialanie kontrolowac warunkami w inerfejsie?
nie po to wymyslono transakcje, zeby przerzucac zwyklego 'if zapytanie sie udalo' na interfejs.. Ten post edytował zalew 20.09.2004, 20:40:06 -------------------- Zalew :: http://jakubzalewski.info
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 20.09.2004 Skąd: Konin Ostrzeżenie: (0%) ![]() ![]() |
radzaw: no wiem wiem, ale jednoczesnie zwraca tez bledy na strone / do loga (zalezy jak kto sobie ustawi) i chyba przez to nie moge pozniej wyslac zadnego headera (glownie chodzi mi o location).
Prawde mowiac nie wiem na 100% czy to to, ale tak wnioskuje, w kazdym razie nic na strone nie wywalam, wysylane sa jedynie bledy do loga, a header nie idzie wiec podejrzewam ze to to. zalew: wiem ze mozna to zrobic na bazie ale akurat w tym wypadku potrzebuje zeby skrypt wiedzial czy sie powiodlo czy nie. IMHO bez sensu by bylo zebym sprawdzal na bazie czy sie powiodlo czy nie, robil rollbacka albo commita w zaleznosci od wyniku, pozniej zwracal wynik i jeszcze raz w php bym sprawdzal wynik i np wyswietla tak lub nie. Tzn tak mi sie wydaje ale moze masz jakis fajowy pomysl to wal smialo ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 407 Pomógł: 0 Dołączył: 24.10.2002 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
podstawowa zasada: baza to baza, interfejs to interfejs. wszystkie zadania, ktore naleza do bazy danych powinno sie wykonywac za jej pomoca w miare mozliwosci, ana mozliwosci m$ nie ma co narzekac..
akurat szczerze nie wiem co ty chcesz zrobic poza tym, ze sprawdzic czy insert sie udal.. ale uzaleznianie operacji bazy od ifa w interfejsie - wg mnie od dupy strony napisze jak ja bym to zrobil przykladowo, jesli dobrze cie rozumiem
(skladnia moze byc do poprawienia w ktoryms miejscu, bo ostatnio w pgsqlu siedze glownie) wywolujesz ta funkcje i albo ci wstawi do bazy albo zwroci false.. potem
wiesz, masz tyle mozliwosci po stronie bazy zeby kontorlowac wpisanie rekordu, zalozyc trigger tkory to sprawdzi i zincrementuje id albo odrzuci transakcje, zdefiniowana funkcje, ktora wszystko sprawdzi; ze nie rozumiem totalnie po co skladac ifami query po stronie php.. troche jak poczakujace mysqlowanie (imo, bez urazy).. Ten post edytował zalew 21.09.2004, 00:12:01 -------------------- Zalew :: http://jakubzalewski.info
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 20.09.2004 Skąd: Konin Ostrzeżenie: (0%) ![]() ![]() |
Hmm, nie ma problemu, konstruktywna krytyka jest jak najbardziej wskazana, przynajmniej sie czegos naucze.
Co do tej procedury to w sumie rzeczywiscie chyba tak zrobie. Z tym ze po prostu dziabne jedna wielka procedure na bazie, do ktorej jako argument bede przesylal zapytanie bo tworzyc do kazdego zapytania nowa procedure to troche bez sensu. Chyba ze zrobie w php funkcje ktora bedzie tylko tworzyla procedure na chwilke z podanym w paramterze zapytaniem ![]() Co do triggerkow to ok jesli jest to robione na mojej tabeli. Natomiast pracujac na czyjejs tabeli musialbym ciagle sprawdzac czy przy ostatnim update'cie np ta osoba nie wywalila mojego trigerka albo nie zmienila czegos. pozdrowienia |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 20:32 |