Changeset 11991 for trunk/include/dblayer/functions_pgsql.inc.php
- Timestamp:
- Aug 24, 2011, 9:50:54 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/dblayer/functions_pgsql.inc.php
r11485 r11991 427 427 428 428 /** 429 * updates on line in a table429 * updates one line in a table 430 430 * 431 431 * @param string table_name 432 * @param array dbfields433 * @param array data432 * @param array set_fields 433 * @param array where_fields 434 434 * @param int flags - if MASS_UPDATES_SKIP_EMPTY - empty values do not overwrite existing ones 435 435 * @return void 436 436 */ 437 function single_update($tablename, $dbfields, $data, $flags=0) 438 { 439 if (count($data) == 0) 437 function single_update($tablename, $set_fields, $where_fields, $flags=0) 438 { 439 if (count($set_fields) == 0) 440 { 440 441 return; 442 } 441 443 442 444 $query = ' … … 444 446 SET '; 445 447 $is_first = true; 446 foreach ($ dbfields['update'] as $key)448 foreach ($set_fields as $key => $value) 447 449 { 448 450 $separator = $is_first ? '' : ",\n "; 449 451 450 if (isset($ data[$key]) and $data[$key]!= '')451 { 452 $query.= $separator.$key.' = \''.$ data[$key].'\'';452 if (isset($value) and $value != '') 453 { 454 $query.= $separator.$key.' = \''.$value.'\''; 453 455 } 454 456 else … … 465 467 WHERE '; 466 468 $is_first = true; 467 foreach ($ dbfields['primary'] as $key)469 foreach ($where_fields as $key => $value) 468 470 { 469 471 if (!$is_first) … … 471 473 $query.= ' AND '; 472 474 } 473 if ( isset($ data[$key]) )474 { 475 $query.= $key.' = \''.$ data[$key].'\'';475 if ( isset($value) ) 476 { 477 $query.= $key.' = \''.$value.'\''; 476 478 } 477 479 else … … 482 484 } 483 485 pwg_query($query); 484 } 486 } 485 487 } 486 488 … … 549 551 550 552 /** 551 * inserts on line in a table553 * inserts one line in a table 552 554 * 553 555 * @param string table_name … … 556 558 * @return void 557 559 */ 558 function single_insert($table_name, $d bfields, $insert)559 { 560 if (count($ insert) != 0)560 function single_insert($table_name, $data) 561 { 562 if (count($data) != 0) 561 563 { 562 564 $query = ' 563 565 INSERT INTO '.$table_name.' 564 ('.implode(',', $dbfields).')566 ('.implode(',', array_keys($data)).') 565 567 VALUES'; 566 568 567 569 $query .= '('; 568 foreach ($dbfields as $field_id => $dbfield) 569 { 570 if ($field_id > 0) 570 $is_first = true; 571 foreach ($data as $key => $value) 572 { 573 if (!$is_first) 571 574 { 572 575 $query .= ','; 573 576 } 574 if (!isset($insert[$dbfield]) or $insert[$dbfield] === '') 577 else 578 { 579 $is_first = false; 580 } 581 582 if ($value === '') 575 583 { 576 584 $query .= 'NULL'; … … 578 586 else 579 587 { 580 $query .= "'".$ insert[$dbfield]."'";588 $query .= "'".$value."'"; 581 589 } 582 590 }
Note: See TracChangeset
for help on using the changeset viewer.