开发者社区> 问答> 正文

php调用mysql的递归型存储过程问题?报错

在mysql里可以好好运行我的递归型存储过程
并设置了SET max_sp_recursion_depth=12;
这个可以拿到我想要的返回结果,是没有问题的。
但是在php里调用就报错了。
$result = mysql_query("CALL showChildDept(128)") or die("Query failed:" .mysql_error());
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
print_r($row);
}

Query failed:Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine

请问这是什么原因呢?谢谢

展开
收起
爱吃鱼的程序员 2020-06-22 22:43:20 1033 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    CREATEDEFINER=root@%PROCEDUREcreateChildDept(INrootIdINT,INnDepthINT)
    BEGIN
       DECLAREdoneINTDEFAULT0;
       DECLAREbINT;
       DECLAREcur1CURSORFORSELECTidFROMzk_departmentsWHEREparent_id=rootId;
       DECLARECONTINUEHANDLERFORNOTFOUNDSETdone=1;
       INSERTINTOtmpLstVALUES(NULL,rootId,nDepth);
       OPENcur1;
       FETCHcur1INTOb;
       WHILEdone=0DO
          CALLcreateChildDept(b,nDepth+1);
          FETCHcur1INTOb;
       ENDWHILE;
       CLOSEcur1;
       END$$

    DELIMITER;

     请问这里有没有问题呢?

    2020-06-22 22:43:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像