Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/mysql] stored procedures, jak uruchomić i pobrać wynik uruchomienia
jastu
post
Post #1





Grupa: Zarejestrowani
Postów: 382
Pomógł: 0
Dołączył: 29.11.2005
Skąd: :jestem();

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


Napisałem kilka procedur by zwiększyć przejrzystość bazy i aplikacji w kontekście najbliższych zmian ale .... nie mogę tych procedur uruchamiać z poziomu php.

Poszukałem i znalazłem kilka niedzialających w moim przypadku rozwiązań:



1.Sposób połączenia z bazą (nie wiem co oznacza flaga 131074)
  1. <?php
  2. mysql_connect($this->hostname, $this->username, $this->password, 131074);
  3. ?>

nie pozwala wywołać
  1. <?php
  2. mysql_query(' set names "utf-8" ');
  3. ?>

ponieważ
Kod
<p>Error Number: 2014</p><p>Commands out of sync; you can't run this command now</p>


2. Łączymy się typowo
  1. <?php
  2. mysql_connect($this->hostname, $this->username, $this->password);
  3. ?>

i wtedy
Kod
Error Number: 1312

PROCEDURE db_core_.getForumLast can't return a result set in the given context


Na serwerze nie ma mysqli !
a nie chcę przenosić tych procedur do php ze względu na ich skomplikowanie. Jeśli jest komuś znane rozwiązanie tego problemu to bedę przesadnie wdzięczny. Pzdr
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
drPayton
post
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


1. Flaga 131074 używana jest by zapobiec generowaniu niektórych błędów podczas wywoływania procedur, a ściślej jest to oznaczenie liczbowe następującej kombinacji flag: CLIENT_FOUND_ROWS | CLIENT_MULTI_RESULTS

"Commands out of sync; you can't run this command now". Błąd ten oznacza, że wywołujesz funkcje w niewłaściwej kolejności. Może tu chodzić o niewłaściwie skonstruowaną procedurę lub też o wywoływane w nieodpowiedniej kolejności zapytania sql. Łącząc się w taki sposób nie możesz, na przykład, wywołać fetch_arraya przed selectem etc. Być może set names musi być wykonywane bezwzględnie jako pierwsze, ale jak napisałem, błąd może być w jakiejś Twojej procedurze.

2. "can't return a result set in the given context" - patrz punkt pierwszy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował drPayton 29.08.2007, 16:13:21
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 07:00