Dies ist ein etwas schlechtes Feature von PDO, das nicht gut dokumentiert ist. Die closeCursor-Methode funktioniert nicht, wenn die Anweisung eine gespeicherte Prozedur ausgeführt hat. Sie müssen die nextRowSet-Methode verwenden. Hier ist, was ich verwende
while($sth->nextRowSet())
{
$sth->fetchAll();
}
$sth->closeCursor();