Autor Zpráva
banshee
Profil
Dobrý deň

chcel som sa Vás opýtať, či niekto nemáte skúsenosti s volaním 2 stored procedúr v PHP
v jednom skripte pod PHP5 a MySQL5. Pretože zavolanie prvej procedúry prejde bez problémov,
ale pri zavolani druhej skončí SQL dotaz ako false. Nie je limit, že je možne volať iba jednu
uloženú procedúru na skript, lebo ak áno nikde som to nenašiel.

Tiež mám problém pri používaní objektového štýlu používania triedy mysqli s stored procedúrami.
Pri inicializovaní triedy sposobom:
/*********/
$mysqli = mysqli_init();
$mysqli->real_connect('localhost', 'root', 'optimal', 'cestovka');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
printf("Connection: %s\n.", $mysqli->host_info);
$stat =$mysqli->query("call get_stat();");

/*********/

My volanie uloženej procedúry prejde bez probémov,
ale pri volaní
$mysqli=new mysqli("localhost", "my_user", "my_password", "world");

my stored procedúru uz nevykoná.

a taktiež my nefunguje zápis typu:
$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = $mysqli->query($query);

/* numeric array */
$row = $result->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);

pri volaní $result->fetch_array my vráti hlášku ze volám neexistujúci objekt triedy....pritom metóda $result->fetch_array by mala byť metódou triedy mysqli_result, čo by sa malo podla manuálu vykonat automaticky....podľa výsledku query.

proceduralny styl volania funkcii mysqli my funguje bez problemov....ale nevyhovuje.:(

mozno sa jedná o chybu v nastavení, ale nemam ani šajn, kde by som to mal hľadať.

Ak sa niekto s niečím podobným stretol tak rád uvítam akúkoľvek skúsenosť a riešenie, alebo nápovedu. Ďakujem
banshee
Profil
Takze pre informaciu.....po volani stored procedure sa uzavrie pripojenie do db. automaticky...a vypise chybu LOST CONNECTION TO MYSQL SERVER DURING EXECUTE QUERY.

Takze problem je vyrieseny ciastocne reconnect do db. (skusali real_connect a sa nam podarilo a klasicky connect), aj ked je to chyba...pisem vyvojarom, urcite dam vediet.
banshee
Profil
Riesenie, volanie stored procedur je mozne iba cez $mysqli->mult_query();
nasledne ulozenie vysledku pomocou $resut=$mysqli->store_result(); a potom je mozne pouzit $result->fetch_array();
Toto téma je uzamčeno. Odpověď nelze zaslat.

0