Changeset 21677 for branches/version-2_12-dev
- Timestamp:
- 2012/03/26 14:37:03 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/SC_Query.php
r21651 r21677 470 470 * 471 471 * @param string $table テーブル名 472 * @param array $ sqlval array('カラム名' => '値', ...)の連想配列472 * @param array $arrVal array('カラム名' => '値', ...)の連想配列 473 473 * @param array $arrSql array('カラム名' => 'SQL文', ...)の連想配列 474 474 * @param array $arrSqlVal SQL文の中で使用するプレースホルダ配列 475 475 * @param string $from FROM 句・WHERE 句 476 476 * @param string $arrFromVal FROM 句・WHERE 句で使用するプレースホルダ配列 477 * @return integer|DB_Error 挿入件数またはDB_Error478 */ 479 function insert($table, $ sqlval, $arrSql = array(), $arrSqlVal = array(), $from = '', $arrFromVal = array()) {477 * @return integer|DB_Error|boolean 挿入件数またはエラー(DB_Error, false) 478 */ 479 function insert($table, $arrVal, $arrSql = array(), $arrSqlVal = array(), $from = '', $arrFromVal = array()) { 480 480 $strcol = ''; 481 481 $strval = ''; 482 482 $find = false; 483 $arrVal = array(); 484 485 if(count($sqlval) <= 0) return false; 486 foreach ($sqlval as $key => $val) { 483 $arrValForQuery = array(); 484 485 foreach ($arrVal as $key => $val) { 487 486 $strcol .= $key . ','; 488 487 if (strcasecmp('Now()', $val) === 0) { … … 492 491 } else { 493 492 $strval .= '?,'; 494 $arrVal [] = $val;493 $arrValForQuery[] = $val; 495 494 } 496 495 $find = true; … … 500 499 $strcol .= $key . ','; 501 500 $strval .= $val . ','; 502 } 503 504 $arrVal = array_merge($arrVal, $arrSqlVal); 501 $find = true; 502 } 503 504 $arrValForQuery = array_merge($arrValForQuery, $arrSqlVal); 505 505 506 506 if (!$find) { … … 514 514 if (strlen($from) >= 1) { 515 515 $sqlin .= ' ' . $from; 516 $arrVal = array_merge($arrVal, $arrFromVal);516 $arrValForQuery = array_merge($arrValForQuery, $arrFromVal); 517 517 } 518 518 519 519 // INSERT文の実行 520 $ret = $this->query($sqlin, $arrVal , false, null, MDB2_PREPARE_MANIP);520 $ret = $this->query($sqlin, $arrValForQuery, false, null, MDB2_PREPARE_MANIP); 521 521 522 522 return $ret; … … 527 527 * 528 528 * @param string $table テーブル名 529 * @param array $ sqlval array('カラム名' => '値', ...)の連想配列529 * @param array $arrVal array('カラム名' => '値', ...)の連想配列 530 530 * @param string $where WHERE句 531 531 * @param array $arrWhereVal WHERE句用のプレースホルダ配列 (従来は追加カラム用も兼ねていた) … … 534 534 * @return 535 535 */ 536 function update($table, $ sqlval, $where = '', $arrWhereVal = array(), $arrRawSql = array(), $arrRawSqlVal = array()) {536 function update($table, $arrVal, $where = '', $arrWhereVal = array(), $arrRawSql = array(), $arrRawSqlVal = array()) { 537 537 $arrCol = array(); 538 $arrVal = array();538 $arrValForQuery = array(); 539 539 $find = false; 540 540 541 foreach ($ sqlval as $key => $val) {541 foreach ($arrVal as $key => $val) { 542 542 if (strcasecmp('Now()', $val) === 0) { 543 543 $arrCol[] = $key . '= Now()'; … … 546 546 } else { 547 547 $arrCol[] = $key . '= ?'; 548 $arrVal [] = $val;548 $arrValForQuery[] = $val; 549 549 } 550 550 $find = true; … … 557 557 } 558 558 559 $arrVal = array_merge($arrVal, $arrRawSqlVal);559 $arrValForQuery = array_merge($arrValForQuery, $arrRawSqlVal); 560 560 561 561 if (empty($arrCol)) { … … 568 568 if (is_array($arrWhereVal)) { // 旧版との互換用 569 569 // プレースホルダー用に配列を追加 570 $arrVal = array_merge($arrVal, $arrWhereVal);570 $arrValForQuery = array_merge($arrValForQuery, $arrWhereVal); 571 571 } 572 572 … … 577 577 578 578 // UPDATE文の実行 579 return $this->query($sqlup, $arrVal , false, null, MDB2_PREPARE_MANIP);579 return $this->query($sqlup, $arrValForQuery, false, null, MDB2_PREPARE_MANIP); 580 580 } 581 581
Note: See TracChangeset
for help on using the changeset viewer.