Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/pdo/procedury składowane] raz działa raz nie
Forum PHP.pl > Forum > PHP
juzwa
Sytuacja jest taka
mam XAMPPA 1.5.3 i wszystko co z nim związane

robię sobie skrypt - który wykorzystuje funkcje składowane
wywołuje je np tak

$sql=CALL procedura(:id)';

następnie jest ciąg instrukcji:

$stmt = $dbh -> prepare($sql);
$stmt -> bindValue(':id', $id, PDO::PARAM_INT);
$stmt -> execute();
return $stmt->fetchall();//z tym, że tutaj zamiast tej metody bywają inne np fetch();

i tak około 10-15% wywołań kończy się niepowodzeniem

nie wiem czemu - jeśli zapytanie jest zrobione normalnie czyli
$sql='SQL pole FROM tabela WHERE id ='.$id;

to takich problemów nie ma
- czyli gdy nie ma procedury i bindValue to działa wszystko bez problemów

dokładny komunikat błędu to:

Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2013 Lost connection to MySQL server during query' in index.php:23Stack trace: #0 index.php(23): PDOStatement->execute() #1 {main} thrown in index.php on line 23

ja rozumiem, że chodzi o zerwanie połączenia podczas zapytania- ale dlaczego tak się dzieje?

czy to ja źle co robię, czy PDO tak już ma czy to serwer MySQL, czy to serwer bazy danych?

to jest takie moje pierwsze zetknięcie się i z PDO i z obsługą zapytań za pomocą procedur i funkcji w systemie baz danych - więc doświadczenia moje na razie są żadne - szukałem, ale jakoś żadnego rozwiązania nie znalazłem
sf
Może napisz jaką wersję PDO, php i MySQL posiadasz (nic mi nie mówi nazwa XAMPP). Jeśli nie są to najnowsze stabilne wersje to proponuje aktulizację i sprawdzenie czy dalej problem występuje. Jak rozumiem baza mysql i php są na tym samym serwerze?

W internecie widziałem kilka podobnych problemów przy php5.2 i pisali, że jeszcze tego nie naprawili winksmiley.jpg Doczytaj sobie...
juzwa
php 5.1.6
mySQL 5.0.24

a XAMPP który to obsługuje jest najnowszą stabilną wersją
MMP
Procedur MySQL na PDO raczej nie uruchomisz, mi się nie udało.
juzwa
a mi się udaje na XAMPP-ie

ale właśnie są te problemy o których piszę, tak 1-2 na 10 wyrzuca mi błąd i to nie te o których mowa w tekście a właśnie 2013 - czyli zerwanie połączenia, czasami potrafi parę odświerzań strony przejść bez zawieszenia się - a czasami znów jest parę pod rząd błędów 2013

ale OK - nie upieram się przy PDO - jeśli to jest taka jego wada to można to inaczej rozwiązać - tylko jak co np polecasz
MMP
Ja sprawdzałem jeszcze mysql_* i mysqli_* niestety na żadnym nie mogłem wykonać procedur. Narazie nie mam pomysłu jak to obejść.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.