Witam wszystkich!

To jest mój pierwszy post na tym forum.
W temacie php i mssql jestem początkujący.
Mam problem, być może lamerski, ale nie potrafię sobie dać z nim rady.
Otóż napisałem prostą procedurkę w sql:
  1. CREATE procedure produkt_kat_dost
  2. @kategoria varchar(30)=NULL,
  3. @dostawca varchar(30)='exotic%'
  4. AS IF @kategoria IS NULL
  5. begin print 'Proszę podać z jakiej kategorii szukamy produktów'
  6. print 'Na przykład: prod_kat_dost `seafood`, `exotic%`'
  7. print 'Nie musisz określać dostawcy - jest domyślny'
  8. RETURN
  9. end
  10. SELECT categoryname, productname, companyname FROM categories WHERE categoryname LIKE @kategoria AND companyname LIKE @dostawca


Jak widać zwraca ona krotki albo (jeśli nie podamy kategorii) message .
To co skleciłem w php wygląda następująco (zmienne-argumenty procedury są pobierane w formularzu):

  1. <?php
  2. mssql_connect ('serwer',login', 'hasło') ;
  3. mssql_select_db ('northwind');
  4. $wynik=mssql_query("exec produkt_kat_dost '%', '%'");
  5.  
  6. $str=mssql_get_last_message();
  7. echo $str;
  8. print "<table border='1'>";
  9. print "<tr><td>Kategoria</td><td>Produkt</td><td>Dostawca</td></tr>";
  10.  
  11. while($rekord = mssql_fetch_array($wynik))
  12. {
  13.  $kat=$rekord[0];
  14.  $prod=$rekord[1];
  15.  $dost=$rekord[2];
  16.  print "<tr><td>$kat</td><td>$prod</td><td>$dost</td></tr>";
  17. }
  18. print "</table>";
  19. ?>


Jeśli argumentami procedury jest % % to wszystko gra. Gdy je usuniemy mssql generuje komunikat (nie error). W każdym razie i tu i tu wynik jest true.
Oprócz tego mssql_get_last_message() odbiera tylko ostatnią linijkę komunikatu:
Nie musisz określać dostawcy - jest domyślny.
Chciałbym w 2 przypadku wyświetlić całość komunikatu i zatrzymać wykonanie kodu przed printem tabelki
(generowany jest Warning: mssql_fetch_array(): supplied argument is not a valid MS SQL-result resource)
Jak to zrobić, tego nie wiem. Przeszukałem to forum i inne strony, ale niestety nic nie znalazłem.

Pozdrowienia dla wszystkich