在一个PHP文件中,要用到多个存储过程,每个存储过程必须要单独建一个数据连接。
$pdobakpro = new PDO('mysql:host=localhost;dbname=test','root','123456');
    
    $sql1 = "call pro_1()";
    $stmt1 = $pdobakpro->query($sql1);
    var_dump($stmt1);    $sql2 = "call pro_2()";
    $stmt2 = $pdobakpro->query($sql2);
    var_dump($stmt2);
因为是在一个数据库下的存储过程,怎么才能用的一个pdo连接。谢谢。

解决方案 »

  1.   

    为什么 每个存储过程必须要单独建一个数据连接 ?
    你的 $stmt1、$stmt2 不都是返回的资源吗?
      

  2.   


    上面代码中$stmt2 返回不了资源,
    必须再做个连接才会有资源
    $pdobakpro2 = new PDO('mysql:host=localhost;dbname=test','root','123456');
    $sql2 = "call pro_2()";
    $stmt2 = $pdobakpro2->query($sql2);
    var_dump($stmt2);查资料其他朋友也遇到这个问题,不过我没看懂他的解决办法
    http://www.cnblogs.com/fightLonely/archive/2011/08/12/2136556.html
      

  3.   

    你取得了 $stmt1 后为什么不读取出来呢?
      

  4.   


    一个数据库连接只能执行一个存储过程,就是假如这个页面我需要调用N个存储过程,就要new PDO N次现在是我有几条非常长的sql语句,需要在不同地方分别应用,所以我想把它们分别写成存储过程来公用,也方便调试。