使用INPUT Paramters使用PDO从MS调用存储过程到MSSQL Server

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用INPUT Paramters使用PDO从MS调用存储过程到MSSQL Server脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这不起作用:
$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);
  }

这也行不通:

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

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

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

这个工作:

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

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

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

我尝试了上面的2使用了没有大括号的工作,等等.我知道有人会说,好吧,就像它的工作方式一样吗? ..问题是我使用sqlsrv_query库从IIS服务器移植一个正在进行的应用程序到Linux服务器.

应用程序中的所有数据库调用都是使用此方法编写的函数:{call wcweb_UserInfo(?)} ..没有指定任何参数名称,因此我必须修改每个数据库调用以包含参数名称.我的印象是PHP5的PDO库可以做同样的调用吗?

帮帮我!有什么我做错了或只是PDO无法拨打这类话?

出于某种原因,这有效:
$sth = $dbh->prepare("exec wcweb_UserInfo ?");
  $sth->bindParam(1,$name);
  $sth->execute();

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

我也许可以忍受这个.任何人都知道为什么其他方法不起作用?这是图书馆的不同之处吗?

脚本宝典总结

以上是脚本宝典为你收集整理的使用INPUT Paramters使用PDO从MS调用存储过程到MSSQL Server全部内容,希望文章能够帮你解决使用INPUT Paramters使用PDO从MS调用存储过程到MSSQL Server所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。