[WordPress] $wpdb  insert (約 1000) の複数のレコードの追加時の問題

スポンサーリンク

Question

私は私のプラグインから約 1000 件のレコードを追加する必要があります。しかし、時折、挿入するレコードの数が異なります。時々 それは 300、時々 それは 400、200 になりました。

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

}

次のようにもこころみました。

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

}

挿入の数は、実行するたびに異なります。

答え

下記のような方法があります。

 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のメモリの限界に達している可能性があります。

// 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’);

http://stackoverflow.com/questions/27817876/wpdb-insert-problems-adding-multiple-records-nearly-1000

スポンサーリンク

Leave a Reply