![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 10.02.2005 Skąd: Goleniów (pod Szczecinem) Ostrzeżenie: (0%) ![]() ![]() |
Tak jat w temacie, znam sie juz troche na php, jednak narazie tego nie dałem rady ustalić.
Chciałem napisać funkcje, która będzie odplana zaraz po wejście (np. w panel administracyjny). Następuje połaczenia z bazą: Przepuszczam ze powinienem teraz zwrócić jakoś tę wartość z funkcji tylko jak? Ten post edytował yaroo_s 10.02.2005, 14:22:41 |
|
|
![]()
Post
#2
|
|
![]() Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Przepuszczam ze powinienem teraz zwrócić jakoś tę wartość z funkcji tylko jak? return $db; hmm.. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
A co to za dziwne wyjęcie function polaczenie() poza kod php? Chyba tak nie masz w swoim skrypcie?
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 10.02.2005 Skąd: Goleniów (pod Szczecinem) Ostrzeżenie: (0%) ![]() ![]() |
Bład przy kopiowaniu, oczywiscie cały skrypt miesci się w znacznikach php,
Włączyłem do składni funkcji: return $db; Jednak nadal wyskakuje bład, że nie ma połączenia z bazą danych... Ten post edytował yaroo_s 10.02.2005, 15:27:15 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Dopisz zamiast mysql_connect mysql_pconnect" title="Zobacz w manualu PHP" target="_manual
Przecież połączenie jest zrywane bo zakonczeniu wykonywania danego skryptu - czytajmy manual -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 10.02.2005 Skąd: Goleniów (pod Szczecinem) Ostrzeżenie: (0%) ![]() ![]() |
Hmm.. nadal cos nie tak...Przedstawie może co robie po koleji:
Najpierw następuje wgranie pliku index.php (tylko część kodu)
Na początku było wywołanie pliku z funkcjami, funkcja połacznei wygląda tak:
Potem następuje odwoąłnie do bazy np. takie
I wyskakuje taki bład
Linia wskazuje ze jest bład w tej lini
Ten post edytował yaroo_s 10.02.2005, 16:06:02 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 393 Pomógł: 5 Dołączył: 6.02.2003 Skąd: The.Luciferian.Doctrine.p df Ostrzeżenie: (30%) ![]() ![]() |
Jeśli dajesz mysql_pconnect()" title="Zobacz w manualu PHP" target="_manual to nie musisz podawac identifykatora połaczenia:
tylko po prostu:
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 10.02.2005 Skąd: Goleniów (pod Szczecinem) Ostrzeżenie: (0%) ![]() ![]() |
No w sumie to jednak musze podać tą zmienną...raczej, teraz wyskoczyło jeszcze więcej błędów....
Warning: mysql_query(): Access denied for user: 'ODBC@localhost' (Using password: NIE) in.......... Warning: mysql_query(): A link to the server could not be established in ............... Blad zapytania Warning: Wrong parameter count for mysql_num_rows() in ....................... czy ktoś ma jakieś inne rozwiązanie, ewentualnie wie co zle robie... Dodatkowo prowadziłem skrypt który odwołuje sie do bazy danych zaraz po funkcji wywołania połączenia. i również wyskakuje błąd. co mzoe wskazywąc ze następuje błędny zwrot z funckji. Czy może tego typu zmiene trzeba zwracać w inny sposób... ![]() Ten post edytował yaroo_s 11.02.2005, 11:00:35 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Daruj sobie przechowywanie identyfikatora połaczenia w sessji - wogóle skąd ten pomysł?
zamiast tego - łącz się z bazą przy każdy wywołaniu skrytpu, potrzebującego współpracy z bazą. -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 10.02.2005 Skąd: Goleniów (pod Szczecinem) Ostrzeżenie: (0%) ![]() ![]() |
Cytat Daruj sobie przechowywanie identyfikatora połaczenia w sessji - wogóle skąd ten pomysł? zamiast tego - łącz się z bazą przy każdy wywołaniu skrytpu, potrzebującego współpracy z bazą. Skad? stąd że jest to część panelu administracujnego, każdy skrypt łaczy sie z bazą, łaczenie i rozłaczanie za każdym razem to obciążenie na serwera, założenie stałego połączenia oddciąża serwer MySQL-a oraz przyśpiesz przetwarzanie wyników zapytań...... |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 22.04.2004 Skąd: Żoliborz Ostrzeżenie: (0%) ![]() ![]() |
@DeyV , a jak rozwiązujesz transakcję obejmującą kilka plików ?
-------------------- Visual Basic - kto by pomyślał :)
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
popbart - nie rozumiem pytania.
yaroo_s - niestety - ale takie są założenia pracy z MySQL w php, że każde wywołanie skryptu z założenia osobno łączy się z MySQL Oczywiście - każde wywołanie strony, a nie każde zapytanie na jego poziomie. W takim przypadku okazuje się, że 1 połączenie z bazą danych na potrzeby jednej odsłony nie jest aż tak bardzo obciążające. Większy problem potrafi pojawić sie natomaist włąsnie z pconect. -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 10.02.2005 Skąd: Goleniów (pod Szczecinem) Ostrzeżenie: (0%) ![]() ![]() |
popbart - czy umiesz zachowywać takie połaczenia... jak zrozumiałem robiłęs tak przy pracu z plikami....
Czy ktos wogóle próbował czegoś tekiego.... jest to chyba rzecz dosc istotna, zwłaszcza przy panelach zarządzania stroną... |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 22.04.2004 Skąd: Żoliborz Ostrzeżenie: (0%) ![]() ![]() |
Cytat popbart - nie rozumiem pytania. Np. Mamy kilka formularzy wprowadzających do bazy rekordy i chcemy się zabezpieczyć transakcją. -------------------- Visual Basic - kto by pomyślał :)
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
@yaroo_s a -a czytałeś mysql_pconnect" title="Zobacz w manualu PHP" target="_manual
![]() -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 10.02.2005 Skąd: Goleniów (pod Szczecinem) Ostrzeżenie: (0%) ![]() ![]() |
Jasne ze czytałem, co nie zmienia faktu że nie mogę sobie poradzić z tym problemem.
Zmieniłe teraz coś takiego (o ile rozumiem to tak powinno być) jeste to plink index.php - wszystkie podstrony wywołują sie poprzez zminną GET:
Standardowae zapytanie wygląda taK
Jednak nadal są błedy.... jesteś w stanie pomóc NuLL..... |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 22.04.2004 Skąd: Żoliborz Ostrzeżenie: (0%) ![]() ![]() |
Cytat założenie stałego połączenia odciąża serwer MySQL-a oraz przyśpiesz przetwarzanie wyników zapytań Chyba gra nie warta świeczki. Było by rozwiązanie gdyby obiekty w php nie ginęły. Wiecie już dlaczego bankowe systemy transakcyjne oparte są o .ASP -------------------- Visual Basic - kto by pomyślał :)
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
jasne jest, że nie można objąć 1 transakcją kilku "odsłon" strony.
Wydaje mi się to niemożliwe nie tylko w php, ale równeiż i w innych platformach, gdzia takie rozwiązanie powodowałoby zupełnie zbędne blokowanie bazy. Zamiast transakcji w takim przypadku znacznie lepsze wydaje się przechowywanie pewnych danych w sessji, tak długo aż nie uzbieramy ich całego zestawu, i dopiero wtedy, przy pomocy serii zapytań następujących jedno po drugim, warto zapisać to do bazy. A taką serię można jak najbardziej objąć transakcją, by mieć pewność, że wszystkie dane zapisane zostały poprawnie. -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 11:43 |