제목 | 디비 쿼리 문제 ?? | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 람이 | 작성시각 | 2017/04/21 11:14:50 |
|
|||
[ 쿼리 실행 ] //룸 날짜별 단가 기록 $room_price_sql = "SELECT * FROM `ci_reserve_rooms_price` WHERE `rv_code` = '".$rv_code."' AND `room_sdate` = '".$room_date."' AND `hotel_req` = ".$this->db->escape($hotel_req)." AND `room_no` = '".$Room_row[$x]->room_no."' "; echo $room_price_sql."<br />"; $room_price_query = $this->db->query($room_price_sql); if($room_price_query->num_rows()>0) { $room_price_res = $room_price_query->row(); $rooms_sql = "UPDATE `ci_reserve_rooms_price` SET `hotel_req` = ".$this->db->escape($hotel_req).", `ho_req` = '".$ho_req."', `room_no` = '".$Room_row[$x]->room_no."', `bed_type` = '".$Room_row[$x]->bed_type."', `room_sdate` = '".$room_date."', `room_term1` = '".$rm_term1."', `room_term2` = '".$rm_term2."', `wonga_exch` = '".$wonga_room_exch."', `wonga_price` = '".$wonga_room_price."', `wonga_surch` = '".$wonga_room_surch."' WHERE `rvl_req` = '".$room_price_res->rvl_req."' "; echo $rooms_sql."<br />"; $this->db->query($rooms_sql); } else { $rooms_sql = "INSERT INTO `ci_reserve_rooms_price` SET `rvl_req` = '".$Room_row[$x]->rvl_req."', `rv_code` = '".$rv_code."', `hotel_req` = ".$this->db->escape($hotel_req).", `ho_req` = '".$ho_req."', `room_no` = '".$Room_row[$x]->room_no."', `bed_type` = '".$Room_row[$x]->bed_type."', `room_sdate` = '".$room_date."', `room_term1` = '".$rm_term1."', `room_term2` = '".$rm_term2."', `wonga_exch` = '".$wonga_room_exch."', `wonga_price` = '".$wonga_room_price."', `wonga_surch` = '".$wonga_room_surch."' "; echo $rooms_sql."<br />"; $this->db->query($rooms_sql); }
SELECT * FROM `ci_reserve_rooms_price` WHERE `rv_code` = 'MH-170421-0002' AND `room_sdate` = '2017-05-01' AND `hotel_req` = '1' AND `room_no` = '1' ==> 존해함 ==> UPDATE `ci_reserve_rooms_price` SET `hotel_req` = '1', `ho_req` = '1', `room_no` = '1', `bed_type` = 'TWN', `room_sdate` = '2017-05-01', `room_term1` = '3', `room_term2` = '4', `wonga_exch` = 'CNY', `wonga_price` = '560', `wonga_surch` = '' WHERE `rvl_req` = '16' SELECT * FROM `ci_reserve_rooms_price` WHERE `rv_code` = 'MH-170421-0002' AND `room_sdate` = '2017-05-02' AND `hotel_req` = '1' AND `room_no` = '1' ==> 존재하는데 인서트가 되고 있습니다. ==> INSERT INTO `ci_reserve_rooms_price` SET `rvl_req` = '16', `rv_code` = 'MH-170421-0002', `hotel_req` = '1', `ho_req` = '1', `room_no` = '1', `bed_type` = 'TWN', `room_sdate` = '2017-05-02', `room_term1` = '3', `room_term2` = '4', `wonga_exch` = 'CNY', `wonga_price` = '560', `wonga_surch` = '' SELECT * FROM `ci_reserve_rooms_price` WHERE `rv_code` = 'MH-170421-0002' AND `room_sdate` = '2017-05-03' AND `hotel_req` = '1' AND `room_no` = '1' ==> 존재하는데 인서트가 되고 있습니다. ==> INSERT INTO `ci_reserve_rooms_price` SET `rvl_req` = '16', `rv_code` = 'MH-170421-0002', `hotel_req` = '1', `ho_req` = '1', `room_no` = '1', `bed_type` = 'TWN', `room_sdate` = '2017-05-03', `room_term1` = '3', `room_term2` = '4', `wonga_exch` = 'CNY', `wonga_price` = '560', `wonga_surch` = ''
위 쿼리문을 실행하면 이상하게 3일자에 모두 데이타가 있어서 INSERT가 되면 안되는데 하나만 UPDATE가 되고 나머지2개가 INSERT가 되고 있는데 무슨 이유인지 알 수 없어 질문 남깁니다. 도와 주세요 ^^ |
|||
태그 | mysql,php | ||
다음글 | application 상위폴더로 admin 루트를 만들... (2) | ||
이전글 | ajax 배열 데이터 컨트롤러에서 받기 (4) | ||
배강민
/
2017/04/21 12:25:15 /
추천
0
html이 꼬여서 화면이 깨져서 좀 수정했습니다.
|
변종원(웅파)
/
2017/04/21 12:25:26 /
추천
0
4개의 and 조건중 하나라도 다르면 insert 되겠죠. 코드는 거짓말을 하지 않습니다. ^^ 데이터 비교를 해보세요.
날짜가 다르네요. ㅎㅎ |
닉
/
2017/04/21 12:31:04 /
추천
0
동시성 문제 아닐까요 ? select for ~ update 구문으로 락 걸고서 insert update 해보심이..?
|
어린양
/
2017/04/21 21:19:50 /
추천
0
$room_price_query->num_rows() 찍어보세요.
|