Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Wiele zapytań w jednym skrypcie - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Wiele zapytań w jednym skrypcie (/thread-wiele-zapytan-w-jednym-skrypcie)



Wiele zapytań w jednym skrypcie - MOCNY - 08-04-2012

Cześć,
Macie może jakiś sposób na użycie więcej niż jednego zapytania w jednym połączeniu? Czy może na każde zapytanie musi być osobne połączenie?
Moja sytuacja się ma tak, że w pierwszym zapytaniu wybieram informacje o użytkowniku, a drugim zapytaniem pobieram z bazy opcje jakie może wybrać, problem w tym, że zwraca wynik tylko z pierwszego selecta, dla drugiego muszę stworzyć nowe połączenie.
Dodam, że ten drugi select jest wywoływany osobno, najpierw wywołuje pierwszy, pobieram dane przez fetch_assoc(), a drugi select jest dalej w kodzie i dane wrzucane do osobnej tablicy...
Na chwilę obecną po prostu przed tym drugim zapytać stworzyłem nowe połączenie z bazą i działa.

Jak pisałem skrypty PHP z bazą Oracle, to można było select za selectem puszczać w ramach jednego połączenia.


RE: Wiele zapytań w jednym skrypcie - mateo - 09-04-2012

Pokaż fragment kodu bo nie rozumiem zupełnie o co ci chodzi. Od momentu połączenia się z bazą, do momentu rozłączenia, możesz wykonywać dowolną liczbę zapytań.


RE: Wiele zapytań w jednym skrypcie - MOCNY - 09-04-2012

No to coś takiego:

Kod PHP:
<?php
    $db 
= new mysqli($dbHost$dbLogin$dbHaslo$dbBaza);    // połączenie
    
$db->query('SET NAMES utf8');    // ustawienie kodowania
    
$db->query('SET CHARACTER_SET utf8_general_ci');    // ustawienie kodowania znaków
    
    
$zapytanie1 "CALL jakasProcedura1('var1');";
    
$wynik1 $db->query($zapytanie1);
    
$wiersz1 $wynik1->fetch_assoc();
    

    
$zapytanie2 "CALL jakasProcedura2('var2');";
    
$wynik2 $db->query($zapytaniePlec);
    
    while (
$wiersz2 $wynik2->fetch_assoc())
    {
        echo 
"<option value=\"" $wiersz2['Id'] . "\">" $wiersz2['Nazwa'] . "</option>";
    }
?>

Pierwsze zapytanie zwraca zawsze jeden wynik, a drugie na przykład 3. Jak połączyłem się przed drugim zapytaniem z bazą (połączenie db2) to hula.