gpt4 book ai didi

php - CodeIgniter 等效于 send_long_data() 以避免超过 mysql 的最大数据包大小

转载 作者:行者123 更新时间:2023-11-29 00:30:16 28 4
gpt4 key购买 nike

我一直在到处搜索,但找不到解决我问题的方法。我正在尝试将我在 smf 和 wordpress 等其他位置使用的 php 类转换为 codeigniter 库。我目前唯一的问题是将数据发送回数据库。问题的原因是返回的数据量超过了 php.ini 文件设置的打包大小,我不想更改 ini 文件,因为如果需要迁移或分发给其他人,以后会出现问题使用。所以我需要的是 CodeIgniter 等同于...

// Send XML data in 8196 block chunks
$start=0;

// The XML data may be large in size, so we need to
// send the data in chunks to the MySQL driver to not
// exceed the max packet size for MySQL.
while ($start < strlen($xml))
{
$end = $start + 8192;
if ($end > strlen($xml)) $end = strlen($xml);
$statement->send_long_data(3,substr($xml,$start,$end-$start));
$start = $end;
}
$start=0;
while ($start < strlen($xml))
{
$end = $start + 8192;
if ($end > strlen($xml)) $end = strlen($xml);
$statement->send_long_data(4,substr($xml,$start,$end-$start));
$start = $end;
}
$statement->execute();

我已将问题缩小到 send_long_data。我已经修改了文件中的所有其他内容并且运行良好。有谁知道在 CodeIgniter 中正确处理最大数据包大小的正确方法?

最佳答案

发现我的问题,表默认是MyISAM,需要是InnoDB。

供引用,修改这个的sql命令是

ALTER TABLE `tablename` ENGINE = InnoDB;

关于php - CodeIgniter 等效于 send_long_data() 以避免超过 mysql 的最大数据包大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16929929/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com