$wpdb->insert:添加多条记录时出现问题(将近 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 来处理它。代码如下。原因是在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');