Llamar a un procedimiento almacenado desde PHP usando PDO a MSSQL Server usando INPUT Paramters

Esto no funciona:

  $dbh = new PDO("dblib:host=xxxx;dbname=xxx", "xxxxx", "xxxxx");

  $sth = $dbh->prepare("{exec wcweb_UserInfo(?)}");
  $sth->bindParam(1, $name);
  $sth->execute();

  while($result = $sth->fetch(PDO::FETCH_ASSOC)) {
    var_dump($result);
  }

Esto tampoco funciona:

  $dbh = new PDO("dblib:host=xxxxx;dbname=xxxx", "xxxxx", "xxxx");

  $sth = $dbh->prepare("{call wcweb_UserInfo(?)}");
  $sth->bindParam(1, $name);
  $sth->execute();

  while($result = $sth->fetch(PDO::FETCH_ASSOC)) {
    var_dump($result);
  }

Esto funciona:

  $dbh = new PDO("dblib:host=xxxxx;dbname=xxxx", "xxxxx", "xxxx");

  $sth = $dbh->prepare("exec wcweb_UserInfo @userid=?");
  $sth->bindParam(1, $name);
  $sth->execute();

  while($result = $sth->fetch(PDO::FETCH_ASSOC)) {
    var_dump($result);
  }

Intenté lo anterior usando 2 que no funcionaron con y sin los corchetes, etc. Sé que algunos dirían, bueno, ¿así es como funciona? .. El problema es que estoy portando una aplicación existente desde un servidor IIS usando la biblioteca sqlsrv_query a un servidor Linux.

Todas las llamadas a la base de datos en la aplicación están escritas en funciones que usan este método: {call wcweb_UserInfo (?)} .. No se especifica ninguno de los nombres de los parámetros, por lo que tendría que modificar cada llamada a la base de datos para incluir los nombres de los parámetros. ¿Tenía la impresión de que la biblioteca de PDO para PHP5 puede hacer ese mismo tipo de llamadas?

¡Ayuda! ¿Hay algo que estoy haciendo mal o es solo que PDO no puede hacer ese tipo de llamadas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta