Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/PDO/ZF] problem z zamykaniem obsługi zapytania
Forum PHP.pl > Forum > PHP
juzwa
uaktualniłem sobie xampa do 1.6.o - czyli jest tak PHP 5.2.1 MySQL 5.0.23

i jest problem z aplikacją - konkretnie z PDO - o ile pod PHP 5.1.6 nie było takich problemów tutaj się pojawiły

wywołuje jakies zapytanie w sposób następujący:

  1. <?php
  2. $db = Zend::registry('db');
  3. $stmt = $db -> prepare($sql);
  4. $stmt -> execute();
  5. $row = $stmt->fetch();
  6. $stmt->closeCursor();
  7. $stmt->null;
  8. ?>


a mimo to mam błąd

SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.


wszędzie gdzie szukałem podpowiedzi widziałem rozwiązanie typu

$stmt->closeCursor();
$stmt->null; lub $stmt=null;

na końcu obsługi zapytania

a pomimo tego gdy po tym wszystkim występuje kolejne zapytanie

  1. <?php
  2. $db = Zend::registry('db');
  3. $stmt = $db -> prepare($sql);
  4. $stmt -> execute();
  5. $row = $stmt->fetch();
  6. $stmt->closeCursor();
  7. $stmt->null;
  8. ?>


to wywala mi błąd - nawet gdy - występuje takie coś

$stmt = $db->prepare($sql, array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));

to nic nie pomaga

jak to rozwiązać?
Maksymus007
mam niestety to samo i niestety nie mam zielonego pojęcia co i jak...
SongoQ
Tak jak by sie kursor nie zamykal. Wykonaj ilosc rekordow + 1 razy metode fetch to oprozni buffor, moze to pomoze. Ostatnio ten temat juz sie pojawil. http://forum.php.pl/index.php?s=&showt...st&p=334936
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.