Changeset 21402 for branches/version-2_11-dev/data/class/SC_Query.php
- Timestamp:
- 2012/01/17 16:15:39 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_11-dev/data/class/SC_Query.php
r21376 r21402 106 106 107 107 /** 108 * エラー判定を行う.108 * エラー判定を行う. 109 109 * 110 110 * @deprecated PEAR::isError() を使用して下さい … … 126 126 * @return integer 件数 127 127 */ 128 function count($table, $where = '', $arrWhereVal = array()) { 129 return $this->get('COUNT(*)', $table, $where, $arrWhereVal); 130 } 131 132 /** 133 * EXISTS文を実行する. 134 * 135 * @param string $table テーブル名 136 * @param string $where where句 137 * @param array $arrWhereVal プレースホルダ 138 * @return boolean 有無 139 */ 140 function exists($table, $where = '', $arrWhereVal = array()) { 141 $sql_inner = $this->getSql('*', $table, $where, $arrWhereVal); 142 $sql = "SELECT CASE WHEN EXISTS($sql_inner) THEN 1 ELSE 0 END"; 143 $res = $this->getOne($sql, $arrWhereVal); 144 return (bool)$res; 128 function count($table, $where = "", $arrWhereVal = array()) { 129 if(strlen($where) <= 0) { 130 $sqlse = "SELECT COUNT(*) FROM $table"; 131 } else { 132 $sqlse = "SELECT COUNT(*) FROM $table WHERE $where"; 133 } 134 $sqlse = $this->dbFactory->sfChangeMySQL($sqlse); 135 return $this->getOne($sqlse, $arrWhereVal); 145 136 } 146 137 … … 279 270 } 280 271 281 // MySQL での不具合対応のため、一旦変数に退避 282 $arrRet = $affected->fetchAll($fetchmode); 283 284 // PREPAREの解放 285 $sth->free(); 286 287 return $arrRet; 272 return $affected->fetchAll($fetchmode); 288 273 } 289 274 … … 469 454 * @param string $table テーブル名 470 455 * @param array $sqlval array('カラム名' => '値',...)の連想配列 471 * @param array $arrSql array('カラム名' => 'SQL文',...)の連想配列472 * @param array $arrSqlVal SQL文の中で使用するプレースホルダ配列473 456 * @return 474 457 */ 475 function insert($table, $sqlval , $arrSql = array(), $arrSqlVal = array()) {458 function insert($table, $sqlval) { 476 459 $strcol = ''; 477 460 $strval = ''; 478 461 $find = false; 479 $arrVal = array();480 462 481 463 if(count($sqlval) <= 0 ) return false; … … 488 470 } else { 489 471 $strval .= '?,'; 490 $arr Val[] = $val;472 $arrval[] = $val; 491 473 } 492 474 $find = true; 493 475 } 494 495 foreach($arrSql as $key => $val) {496 $strcol .= $key . ',';497 $strval .= $val . ',';498 }499 500 $arrVal = array_merge($arrVal, $arrSqlVal);501 502 476 if(!$find) { 503 477 return false; … … 508 482 $sqlin = "INSERT INTO $table(" . $strcol. ") VALUES (" . $strval . ")"; 509 483 // INSERT文の実行 510 $ret = $this->query($sqlin, $arr Val, false, null, MDB2_PREPARE_MANIP);484 $ret = $this->query($sqlin, $arrval, false, null, MDB2_PREPARE_MANIP); 511 485 512 486 return $ret; … … 635 609 } 636 610 637 // MySQL での不具合対応のため、一旦変数に退避 638 $arrRet = $affected->fetchOne(); 639 640 // PREPAREの解放 641 $sth->free(); 642 643 return $arrRet; 611 return $affected->fetchOne(); 644 612 } 645 613 … … 669 637 } 670 638 671 // MySQL での不具合対応のため、一旦変数に退避 672 $arrRet = $affected->fetchRow($fetchmode); 673 674 // PREPAREの解放 675 $sth->free(); 676 677 return $arrRet; 639 return $affected->fetchRow($fetchmode); 678 640 } 679 641 … … 701 663 } 702 664 703 // MySQL での不具合対応のため、一旦変数に退避 704 $arrRet = $affected->fetchCol(); 705 706 // PREPAREの解放 707 $sth->free(); 708 709 return $arrRet; 665 return $affected->fetchCol(); 710 666 } 711 667 … … 788 744 } 789 745 790 // PREPAREの解放746 //PREPAREの解放 791 747 $sth->free(); 792 748 … … 1017 973 } 1018 974 $arrRet = $result->getColumnNames(); 1019 // PREPAREの解放975 //PREPAREの解放 1020 976 $sth->free(); 1021 977
Note: See TracChangeset
for help on using the changeset viewer.
