1615 准备好的语句需要在codeigniter中重新准备
Posted
技术标签:
【中文标题】1615 准备好的语句需要在codeigniter中重新准备【英文标题】:1615 Prepared statement needs to be re-prepared in codeigniter 【发布时间】:2018-12-14 22:09:41 【问题描述】:我在 codeIgniter 3.1.7framework 的 mysql 存储过程中使用了 prepare 语句。当我在 localhost 中工作时一切正常但是当网站托管时,我收到此错误“需要重新准备准备好的语句”我在太多网站中检查了解决方案并检查了 codeigniter , mysql 文档。但我仍然无法解决它。几乎每个人都提到在sql中增加“table_definition_cache”。但我试过了,但我仍然得到同样的错误。期待专家的一些解决方案。提前致谢。
【问题讨论】:
我没有得到解决方案,但有人否决了我的问题,请告诉我原因。 CI 3.1.7 是否使用 PDO?如果是,您可以尝试模拟准备好的语句PDO::ATTR_EMULATE_PREPARES => true
我觉得是的...让我检查一下
@DenisAlimov 我将数据库连接从 mysqli 更改为 pdo.. 但结果仍然相同。在本地主机中一切正常,托管后我收到此错误
【参考方案1】:
我在使用 Laravel 框架时遇到了同样的问题。我用谷歌搜索并尝试了许多解决方案,但并没有解决这个问题。 最后,我得到了这个解决方案并摆脱了这个问题。
解决方案:MySQL: Prepared statement needs to be re-prepared
您还可以查看以下解决方案:
Solution1:
Solution2:
我希望这也对你有用。
【讨论】:
【参考方案2】:增加变量table_definition_cache
的值可以按照SET GLOBAL table_definition_cache=value;
这句话增加在 my.conf 文件中修改
【讨论】:
以上是关于1615 准备好的语句需要在codeigniter中重新准备的主要内容,如果未能解决你的问题,请参考以下文章
MySql“视图”、“准备好的语句”和“准备好的语句需要重新准备”