Naczytałem się o procedurach składowanych, że są fajne i w ogóle;) Postanowiłem więc, że się ich nauczę ale poległem na samym początku. Walczę cały czas z jednym problemem. Sytuacja wygląda tak: do tworzenia procedur używam Navicat bo tak jest mi prościej. Stworzyłem sobie najprostszą procedurę, w której umieściłem to:
SELECT * FROM apt_wojewodztwa
Uruchomiłem to w Navicat i jest ok - zwraca 16 rekordów. Uruchomiłem to też w PHP (używam PDO jeśli ma to jakieś znaczenie) i również widzę 16 rekordów. Problem powstał w momencie gdy użyłem więcej niż jednego SELECTa:
BEGIN SELECT i + 2; SELECT i - 3; END
jeśli wywołam to z parametrem równym np 10 to zwraca mi wyłączenie 12 (zarówno w Navicat jak i poprzez PHP)... a co z rekordem = 7? O procedurach uczę się z tego wykładu:
http://th-www.if.uj.edu.pl/zfs/gora/bazy08/wyklad10.pdf
i tam na stronie 32 jest niby to samo co ja robię:\
Z góry dziękuję za jakiekolwiek podpowiedzi!
pozdrawiam,
Łukasz
Mały update. Po uruchomieniu procedury w konsoli Navicat'a (nie poprzez kliknięcie Run) wygląda to dobrze:
mysql> call testowa(10); +-------+ | i + 2 | +-------+ | 12 | +-------+ 1 row IN SET +-------+ | i - 3 | +-------+ | 7 | +-------+ 1 row IN SET Query OK, 0 rows affected mysql>
Ale nie mam pojęcia co zrobić aby dobrze też wyświetlało się na stronie WWW.