Parece que há um bug no trabalho aqui, a melhor solução que encontrei é esta:
http://www.php.net/manual/en /pdo.prepared-statements.php#101993
Do comentário no link acima:
$dbh->query("CALL SomeStoredProcedure($someInParameter1, $someInParameter2, @someOutParameter)"); $dbh->query("SELECT @someOutParameter"); // OR, if you want very much to use PDO.Prepare(), // insert "SELECT @someOutParameter" in your stored procedure and then use: $stmt = $dbh->prepare("CALL SomeStoredProcedure(?, ?)"); $stmt ->execute(array($someInParameter1, $someInParameter2));
Veja também:https://stackoverflow.com/a/4502524/815386