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中重新准备的主要内容,如果未能解决你的问题,请参考以下文章

在codeigniter中逃避足够的防止sql注入的保护

MySql“视图”、“准备好的语句”和“准备好的语句需要重新准备”

如何摆脱 MySQL 错误“需要重新准备准备好的语句”

每次重新评估时都需要关闭准备好的语句,否则我可以在最后做一次

在 PHP 中到处使用准备好的语句? (PDO)

如果我使用一个语句选择属性然后使用多个 sql 查询的 1 个准备好的语句,我是不是需要使用连接池