$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');
我需要从我的插件中添加近 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');