Changeset 1790
- Timestamp:
- Feb 8, 2007, 7:51:22 PM (17 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/admin/include/functions.php
r1789 r1790 522 522 function mass_inserts($table_name, $dbfields, $datas) 523 523 { 524 global $conf;525 526 524 if (count($datas) != 0) 527 525 { 528 // inserts all found categories529 $query_begin = '530 INSERT INTO '.$table_name.'531 ('.implode(',', $dbfields).')532 VALUES';533 534 526 $first = true; 535 $query_value = ''; 536 527 528 $query = 'SHOW VARIABLES where variable_name = \'max_allowed_packet\';'; 529 list(, $packet_size) = mysql_fetch_row(pwg_query($query)); 530 $packet_size = $packet_size - 2000; // The last list of values MUST not exceed 2000 character 531 537 532 foreach ($datas as $insert) 538 533 { 534 if (strlen($query) >= $packet_size) 535 { 536 $query .= ' 537 ;'; 538 pwg_query($query); 539 $first = true; 540 } 541 539 542 if ($first) 540 543 { 544 $query = ' 545 INSERT INTO '.$table_name.' 546 ('.implode(',', $dbfields).') 547 VALUES'; 541 548 $first = false; 542 549 } 543 550 else 544 551 { 545 if (strlen($query_value) >= $conf['max_allowed_packet']) 546 { 547 pwg_query( $query_begin.$query_value ); 548 $query_value = ''; 549 } 550 else 551 { 552 $query_value .= ','; 553 } 552 $query .= ' 553 , '; 554 554 } 555 556 $query_value .= ' 557 ('; 558 555 556 $query .= '('; 559 557 foreach ($dbfields as $field_id => $dbfield) 560 558 { 561 559 if ($field_id > 0) 562 560 { 563 $query _value.= ',';561 $query .= ','; 564 562 } 565 563 566 564 if (!isset($insert[$dbfield]) or $insert[$dbfield] === '') 567 565 { 568 $query _value.= 'NULL';566 $query .= 'NULL'; 569 567 } 570 568 else 571 569 { 572 $query _value.= "'".$insert[$dbfield]."'";570 $query .= "'".$insert[$dbfield]."'"; 573 571 } 574 572 } 575 $query_value .= ')'; 576 } 577 pwg_query($query_begin.$query_value); 573 $query .= ')'; 574 } 575 576 $query .= ' 577 ;'; 578 pwg_query($query); 578 579 } 579 580 } -
trunk/include/config_default.inc.php
r1788 r1790 678 678 $conf['light_slideshow'] = true; 679 679 680 // +-----------------------------------------------------------------------+681 // | mysql |682 // +-----------------------------------------------------------------------+683 684 // $conf['max_allowed_packet'] indicates the max size in octets of MySql685 // request. Used in mass_inserts() function.686 $conf['max_allowed_packet'] = 1000000;687 688 680 ?>
Note: See TracChangeset
for help on using the changeset viewer.