zoukankan      html  css  js  c++  java
  • php调用mysql存储过程游标

    <?php
        $dbtype = 'mysql';
        $host = 'localhost';
        $dbname = 'test';
        $dsn = "$dbtype:host=$host;dbname=$dbname";
        $user = 'root';
        $password = 'root';
        try{
            $pdo = new PDO($dsn, $user, $password);
        } catch(PDOException $e) {
            echo $e->getMessage();
        }
        $procy = "
            create procedure proc1()--定义存储过程名字
            begin --开始
            declare mynum int default 0; --定义变量指定类型默认值
            declare done int default 0;
            declare cur1 cursor for select num1 from test.test1; --定义游标
            declare continue handler for not found  set done = 1; --定义游标内循环结束标志
            open cur1; --打开游标
            fetch cur1 into mynum; --打开游标并指向数据第一行
            while done != 1 do --while循环
                insert into test.test2(numc) value(mynum); --执行任意语句
                fetch cur1 into mynum; --指向下一条数据
            end while; --结束while
            close cur1; --关闭游标
            end;--结束存储过程
        ";
        $a = $pdo->query($procy);//存储编译存储过程(存储至mysql->proc表中)
        $res1 = $pdo->query('call proc1();');//调用存储过程
        $res2 = $pdo->query('select * from test2');
        var_dump($res2->fetchAll(PDO::FETCH_ASSOC));
        
        
  • 相关阅读:
    NOI2018:屠龙勇士
    Hello world!
    bzoj5月月赛订正
    codeforces906 D
    bzoj2728 [HNOI2012]与非
    bzoj3884上帝与集合的正确用法
    bzoj2817[ZJOI2012]波浪
    2017多校联合赛1[题解]
    论如何优雅的用bitset来求四维偏序
    bzoj1488[HNOI2009]图的同构
  • 原文地址:https://www.cnblogs.com/hxphp/p/6098018.html
Copyright © 2011-2022 走看看