回答

收藏

如何连续执行多个程序?

技术问答 技术问答 174 人阅读 | 0 人回复 | 2023-09-12

这是我的代码:
; s6 Z& o3 C3 Y: L, Y) K$ b" R$query = "CALL user_top_categories_score(?,'ALL',0,1)";$sth = $this->dbh->prepare($query);$sth->execute([$user_id]);$category = $sth->fetchAll(PDO::FETCH_ASSOC);$query = "CALL user_top_tags_score(?,'ALL',0,3)";$sth = $this->dbh->prepare($query);$sth->execute([$user_id]);$tags = $sth->fetchAll(PDO::FETCH_ASSOC);造成这一错误:
+ F$ a0 w% ]! n7 ?  a3 o, b. t/ u致命错误:未被捕获的PDOException:SQLSTATE
6 C" q8 I3 W/ I- q2 i6 Z/ Q; U[HY000]:常规错误:2014年其他未缓冲查询处于活动状态时,无法进行查询。考虑使用PDOStatement ::6 z7 l, t+ X# y, ~
fetchAll()。另外,如果你的代码只打算针对,mysql通过设置运行PDO ::" d. i% X2 j  J+ A
MYSQL_ATTR_USE_BUFFERED_QUERY属性启用查询缓冲。C:\ xampp \ htdocs \ myweb \ others
, T8 E8 U% ^# w/ z5 o\ user.php:71中堆栈跟踪:#0 C:\ xampp \ htdocs \ myweb \ others \
, |1 R2 s$ t9 M; \& q% t3 l- @user.php(71):PDO-> prepare(’CALL user_top_t。。’)#1 C:\ xampp \ htdocs \) k, k. ?2 Q3 k% S4 s% _" j
myweb \ application \ other.php(24):用户->索引()#2 C:\ xampp \ htdocs \ myweb \
# a* ]. l' m0 U. R; t8 x9 V$ p' yindex.php(152):require_once(’ C:\ xampp \ htdocs …’)#3 {main}在第71行的C:\0 {  ?% Z1 r4 |/ P0 ]% f& O6 m
xampp \ htdocs \ myweb \ others \ user.php中, M! m2 K1 s3 e9 U: M4 ~" w# h
另外,我用过closeCursor()之后fetchAll(),基于解决方案。但遗憾的是,它造成了一个新的错误:
9 G8 R( I. e$ Q5 l: `3 \4 V警告:数据混乱。预计会收到一个。9,第72行C:\ xampp \ htdocs \ myweb \ others \
- m9 C3 B0 s2 p9 P1 Luser.php数据包的大小= 7
; J+ a& s* H& V# f; h1 |警告:PDO :: prepare():第72行C:\ xampp \ htdocs \ myweb \ others \
* S5 v9 K' X% V( d8 q( t7 x1 g# Yuser.php中,MySQL服务器消失了
- `- [* `# v/ a+ r2 n6 w致命错误:未捕获PDOException:SQLSTATE [HY常规错误:2006  MySQL服务器在C:\ xampp \ htdocs
9 _; e8 N- ?- V6 R* n\ myweb \ others \ user.php:72中消失:堆栈跟踪:#0 C:\ xampp \ htdocs \ myweb \3 w) [7 y6 ~) m/ q
others \ user.php(72):PDO-> prepare(’CALL user_top_t …’)#1 C:\ xampp \
- T0 c4 h. P8 x2 O# Qhtdocs \ myweb \ application \ other.php(24):user-> index()# 2 C:\ xampp \( R& p/ Q  {. L7 K
htdocs \ myweb \ index.php(152):require_once(’C:\ xampp \ htdocs …’)#3
1 H6 v" i0 u( z{main}抛出C:\ xampp \ htdocs \ myweb \ others \ user .php行72( {) {. t1 \  g  B3 g
你知道如何解决这个问题吗?
# p, j: a8 A7 Q: Z5 P注意1:    以上每个查询都是单独工作的。我的意思是,当我调用一个过程时,它也可以正常工作。% K; M) W9 @* K8 G
注2:    每个过程都返回一个结果集。我的意思是SELECT这些程序中有一个陈述。
/ e+ N3 q3 ?# \2 E$ L                                                               
9 D  s/ ^3 p. c# {, N0 b    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则