1

我一直在到处寻找,找不到解决我问题的方法。我正在尝试将我在 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 中正确处理最大数据包大小的正确方法?

4

1 回答 1

1

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

供其他人参考,更改此的 sql 命令是

ALTER TABLE `tablename` ENGINE = InnoDB;
于 2013-06-08T03:12:52.327 回答