![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
mysql_connect zaskoczyło mnie dziwnym zachowaniem.
Piszę sobie dodatek do aplikacji, w której utworzone jest połączenie za pomocą wspomnianej funkcji. Nie zwracany jest identyfikator tzn nie przypisywany do żadnej zmiennej. Następnie chciałbym na chwilkę połączyć się z inną bazą na tym samym hoście: I co się okazuje? Połączenie główne jest zastępowane. Wszystkie operacje na bazie jakie będę wykonywał będą na odbywały się na nowym linku, a stary nie istnieje. Zamknięcie połączenia za pomocą mysql_connect($newConnect) powoduje przy zapytaniach łączenie się z bazą za pomocą apache @ localhost czyli jakby żadne połączenie nie było ustanowione. Próbowałem 4 argument ustawiać na TRUE, FALSE ale to nic nie zmienia. SQL Safe Mode jest na OFF. Dlaczego tak się dzieje? Jak to rozwiązać? Jest to dosyć poważny problem dla mnie, a kodu aplikacji właściwej nie mogę modyfikować. Ten post edytował markonix 24.06.2011, 20:56:27 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
nie wystarczy skoro jesteś już połączony? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Inny użytkownik, inne hasło, tylko ten sam host.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
1. we wszystkich mysql_query etc. podajesz drugi argument, mysql_connect
2. do drugiego połączenia stosujesz np. PDO |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
O PDO myślałem, ale chciałem uniknąć tutaj bo te drugie połączenie potrzebne jest do zaledwie dwóch zapytań.
Pierwszego punktu nie rozumiem. Jeśli chodzi Ci o link do połączenia w mysql_query to nie ma tu znaczenia, samo wywołanie mysql_connect "zabija" połączenie główne. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
ech - manual, drugi argument mysql_query, tylko, jak widzę, nie możesz ruszyć podstaw witryny
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Ale o czym Ty mówisz, wiem, że mogę się odwołać po linku do konkretnego połączenia ale mam dwa połączenia:
GŁÓWNE, bez identyfikatora. DODATKOWE, z identyfikatorem. Utworzenie tego dodatkowego, nadpisuje/zabija połączenie GŁÓWNE. W moim rozumowaniu mysql_query bez drugiego argumentu działa na głównym, z argumentem działa na dodatkowym ale tak właśnie nie jest. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat W moim rozumowaniu mysql_query bez drugiego argumentu działa na głównym, z argumentem działa na dodatkowym ale tak właśnie nie jest. A nie lepiej zamiast samemu próbować dojść do tego jak to działa skorzystać z manuala? Jak byk napisane:Cytat The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. [...]
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Jak zwykle najprostsze rozwiązanie jest najlepsze, po prostu w takim wypadku wystarczy dać połączenie z bazą DODATKOWĄ na samym początku strony przez includem połączeń, funkcji itp. Problem rozwiązany.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 02:40 |