Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wywołanie procedury składowej przez mysqli w php, procedura MySql z PHP
genger
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.08.2008

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


Mam procedurę składową w MySql, która działa w konsoli. Muszę ją wywołać (zwraca selecta jakiegoś tam wypracowanego w bólach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) w PHP najlepiej przy użyciu mysqli (taki mam projekt i własną klasę do połączeń w oparciu o mysqli). Nie mogę znaleźć przykładu na połączenie z bazą z opcją CLIENT_MULTI_STATEMENTS lub CLIENT_MULTI_RESULTS właśnie przy użyciu mysqli i tu jest problem. Proszę o pomoc. Może ktoś ma inny pomysł.

(PS. Wywołanie procedury w phpmyadminie zwraca: #1312 - PROCEDURE delegacje.statystyka_sum_proc can't return a result set in the given context)

Ten post edytował genger 6.01.2009, 13:08:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
drucik
post
Post #2





Grupa: Zarejestrowani
Postów: 13
Pomógł: 4
Dołączył: 31.12.2008
Skąd: Bytom Odrzański

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


Witam,

Hmm, nie musisz używać parametru CLIENT_MULTI_STATEMENTS ani CLIENT_MULTI_RESULTS.
Łączysz się tylko z bazą danych za pomocą mysqli:
Kod
$link = mysqli_connect('host', 'login', 'haslo', 'baza');

if (mysqli_multi_query($link, "CALL procedura(param1, param2)"))
{
    if ($result = mysqli_store_result($link))
    {
          while ($row = mysqli_fetch_row($result))
          {
                // przetwarzanie wiersza
          }
    }
}


Jeżeli funkcja zwraca więcej niż jeden ResultSet, to możesz użyć funkcji:
Kod
    if (mysqli_more_results($link))  // sprawdzenie czy sa nastepne dane
    {
         mysqli_next_result($link);   // ustawienie na nastepny resultset
         $result = mysqli_store_result($link);   // pobranie nastepnego resultatu i pozniej tak samo jak wyzej


więcej informacji na temat mysqli możesz znaleść na stronach manuala php:
http://pl.php.net/manual/pl/mysqli.multi-query.php

Ten post edytował drucik 7.01.2009, 01:04:03
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 15.09.2025 - 00:32