当前位置: 首页 > 面试题库 >

无法在给定的上下文中返回结果集

阎宝
2023-03-14
问题内容

每当我尝试在mysql中调用存储过程以返回结果集时,它总是说“在给定上下文中不能返回结果集”。

我用谷歌搜索它,有人说这是mysql bug,有人说你应该改变你的mysqli驱动程序,然后....

情况:

使用mysqli驱动程序客户端API库版本5.0.51a,PHP版本5.2.4-2ubuntu5.6,使用Zend 1.9 RC 1 Mysqli适配器。

我该怎么办!?


问题答案:

不确定这是否可以解决您的问题,但是尝试使用最新版本的PHP怎么办?
PHP 5.2.4绝对是很老的-因此,如果它是PHP mysqli驱动程序中的错误,则可能已从…开始进行了更正。

实际上,在快速搜索之后,似乎出现了一个问题,就像您在PHP 5.2.3和PHP 5.2.4之间引入了这个问题(PHP 5.2.5中仍然存在)。
请参见错误#42548:PROCEDURE
xxx无法在给定上下文中返回结果集(在5.2.3中有效!!)

您是否可以使用PHP 5.2.9或5.2.10之类的东西进行测试?
我知道这些不是Ubuntu提供的,即使在上一个Ubuntu稳定版本中也是如此:-(您可能必须从源代码进行编译:-(

另一个想法是尝试使用PDO_MySql适配器:也许可以与那个适配器一起使用?
是否有可能更换适配器而不会造成太多麻烦/无需花费数小时进行测试?

当您使用Zend Framework
1.9时,这是您可能感兴趣的另一篇文章,并且可能更易于测试:升级到1.8后的存储过程错误

一个简单的解决方案是回到Zend Framework 1.7。可以测试吗?

无论如何…祝你好运!
而且,如果您找到了解决方案,请不要忘记指出问题所在以及如何解决;-)



 类似资料:
  • Spark 1.3.1(也尝试了Spark 1.5.1) Hadoop 2.6(在CDH 5.4.0上) Pyspark--主纱--num--执行者5--执行者-内存10g--驱动程序-内存4g--驱动程序-核心4 database.table有超过2k个分区 database.table在field1上分区(在where子句中使用) 占用的时间不确定--我不得不停止查询的执行,因为它很快占用了我

  • 我在用户和任务之间有一对多的关系(一个用户有很多任务)。 我在数据库中插入我的数据,其中每个任务都与用户ID有一个外键关联。在JPA中有没有可能本质上说: 这是我的简单回购

  • 改变json输出策略 默认使用阿里的fastjson进行json输出 JSON.toJSONString(obj) 如果要更换输出策略,操作方式如下: @Override protected void initApiConfig(ApiConfig apiConfig) { ... // 自定义json格式输出,将null字符串变成"" apiConfig.setJson

  • 网关默认对业务结果进行合并,然后返回统一的格式。 针对alipay.story.find接口,微服务端返回结果如下: { "name": "白雪公主", "id": 1, "gmtCreate": 1554193987378 } 网关合并后,最终结果如下 { "alipay_story_find_response": { "msg": "Succe

  • 问题内容: 我正在尝试创建一种方法,从中可以查询数据库并检索整个表。 目前,如果我使用这些数据只是正常工作 中 的方法。但是,我希望该方法返回结果。 我正在了解当前代码。 我该如何实现? 问题答案: 您永远不要通过公共方法来回避。这很容易导致资源泄漏,因为您不得不保持语句和连接打开。关闭它们将隐式关闭结果集。但是,将它们保持打开状态将导致它们悬而未决,并且当它们打开过多时,将导致数据库用尽资源。

  • 我如何用JOOQ表示以下PostgreSQL语法? Jooq的函数需要类型作为其参数,但是函数返回类型?