$wpdb->插入:添加多个记录时出现问题(近 1000 条)


$wpdb->insert : problems adding multiple records ( nearly 1000)

我需要从我的插件中添加近 1000 条记录。虽然有时尝试我没有添加所有记录。记录的数量也各不相同。有时是300,有时是400,有时是200等。

初始查询为:

foreach ($data as $value) {
  $success=$wpdb->insert( 
    $table, 
    array( 
      'url' => $value, 
      'status' => 'n',
    ), 
    array( 
      '%s', 
      '%s' 
    ) ); 
}

我虽然有些问题可能与$value.然后为了进行测试,我尝试了以下内容:

for($i=1;$i <= 1000;$i++){ 
  $success=$wpdb->insert( 
    $table, 
    array( 
      'url' => $i, 
      'status' => 'n',
    ), 
    array( 
      '%s', 
      '%s' 
    ) ); 
 }

它的行为也是一样的。有时不会添加 1000 条记录。并且插入次数因每次执行而异。

我正在使用 AJax 来处理它。代码如下。原因在阿贾克斯是谎言吗?


jQuery(document).ready(function($) {
  jQuery('#sbswp').submit( function (event){
    var data = {
      'action': 'sbi2wp_action',
      url : $('input[name=url]').val(),
    };
    $.post(ajaxurl, data, function(response) {
      $('#result').html(response);
    });
    return false;
  });
});

它在失败之前运行了多少时间?可能是你达到了PHP的执行时间或内存限制。你可以在 PHP 代码的开头添加这两行来尝试一下:

// allows php script to run for 3000 seconds before it's terminated
ini_set('max_execution_time', 3000);
// allows php to use up to 512 megabytes of RAM
ini_set('memory_limit', '512M');