CI 묻고 답하기

제목 세션 데이터베이스 연동 부분 에러 질문입니다.
글쓴이 밥아저씨 작성시각 2012/02/01 23:19:24
댓글 : 14 추천 : 0 스크랩 : 0 조회수 : 25991   RSS
 이런 에러가 나면서 수정, 및 삭제가 모두 안되네요.

테이블 이름은 ko_nb_session 으로 했습니다.

SQL 질의문에 에러가 있습니다. MySQL 서버가 다음과 같은 에러를 출력했습니다. 이것이 문제를 진단하는데 도움이 될 것입니다.

ERROR: 따옴표(quote)가 닫히지 않았음 @ 86
STR: '
SQL: DELETE FROM `ko_nb_session` WHERE CONVERT(`ko_nb_session`.`session_id` USING utf8) = \'a743b969a8c051f92312007b8f41868b\' LIMIT 1

SQL 질의:

DELETE FROM `ko_nb_session` WHERE CONVERT(`ko_nb_session`.`session_id` USING utf8) = \'a743b969a8c051f92312007b8f41868b\' LIMIT 1

MySQL 메시지: 도움말

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'a743b969a8c051f92312007b8f41868b\' LIMIT 1' at line 1  
 다음글 굉장히 많은 데이터를 처리 할시에..... (6)
 이전글 controller 없을 경우 특정 페이지 호출(리턴) (2)

댓글

변종원(웅파) / 2012/02/02 13:50:07 / 추천 0
에러 메세지에 답이 있는데요? ^^


밥아저씨 / 2012/02/02 15:41:20 / 추천 0
 넵, 그렇습니다만,
저건 제가 처리 해준 부분이 아니라
CI 에서 처리 해준 부분이기 때문에
버그가 아닐런지요...

아니면 phpmyadmin 버그라고 해야될지...
한대승(불의회상) / 2012/02/02 16:07:48 / 추천 0
과연 어떤넘이 쿼리에 ₩를 붙였을까요?
밥아저씨 / 2012/02/02 16:31:43 / 추천 0
레퍼런스에 나온거 그대로 create table 해도 붙고,
그냥 메일주소와, 비밀번호의 변수값만 user data 에 넣어줬는데,
저러면서 삭제도 안되고, 수정도 안되네요

리눅스 mysql 콘솔로 접속하면 다 되기는 해요,
phpmyadmin 문제인가....
한대승(불의회상) / 2012/02/02 17:23:33 / 추천 0
밥아저씨 //
CONVERT(`ko_nb_session`.`session_id` USING utf8)
요부분이 수상한데...

짚이는데 없으신지..
변종원(웅파) / 2012/02/02 17:28:03 / 추천 0
밥아저씨/ ci 프로그램에서 에러가 나는게 아니라 phpadmin에서 나는건가요?
답변하는 사람들이 밥아저씨의 상황을 독심술로 알 수 있는 것이 아니라서 어떤 상황인지
정확하게 올려주셔야 정확한 답변이 가능합니다.

검색을 할때 검색어 선정을 잘해야 원하는 결과를 빨리 찾을 수 있듯이
질문도 잘해야 원하는 답변을 빨리 얻을 수 있습니다.

질문자의 상황을 제대로 알지 못하면 한번에 끝날 답변이 여러 번 댓글이 오간 후에 
해결이 되거나 해결이 되지 않는 경우도 생깁니다.
한대승(불의회상) / 2012/02/02 17:35:52 / 추천 0
웅파// CI는 사용자가 테이블 명을 명시하지 않는한 자동으로 테이블명을 붙여주지 않는것으로 봐서는  phpMyAdmin 으로 생각 됩니다.

밥아저씨// 세션 관련 소스 까봐는데... CONVERT가 착실하게 대문자로 명시되어 있는곳은 없더군요.
밥아저씨 / 2012/02/02 17:39:27 / 추천 0
 웅파// 아이고 죄송합니다ㅠㅡㅠ 에러 보여드린 부분이 당연히 phpmyadmin 이기에....

세션 넣은 부분은 이렇습니다.
email 과 pw 받아와서, 배열에 집어넣고 세션 셋 시켜준겁니다.
phpmyadmin 쪽문제일까요 아니면 세션을 이상하게 넣은 제 잘못일까요 ㅠㅠ
 
$email = $this->input->post('email');
$pw = $this->input->post('password');
$email = $this->security->xss_clean($email);
$pw = $this->security->xss_clean($pw);

$sprofile = array('email' => $email, 'password' => $pw);
$this->session->set_userdata($sprofile);


 
밥아저씨 / 2012/02/02 17:40:45 / 추천 0
 우선은 제가 다시 한번 해보겠습니다.
지금  Disallowed Key Characters 에러가 나는데
뭐 한것도 없는데 내 CI는 왜이런거지 Orz

한대승(불의회상) / 2012/02/02 17:46:58 / 추천 0
phpMyAdmin 과는 별 상관이 없어 보이는데요.. ^^;;

CI 에서 세션 값은 잘 나오는지요?

에러 나는 부분이 

$this->session->unset_userdata();

할때 나오는 건가요?

phpMyAdmin에서 삭제 하려고 할 때 나오는건가요?
밥아저씨 / 2012/02/02 17:49:27 / 추천 0
 정확히 말씀드리겠습니다 너무 제가 헷갈리게 말씀드린것 같군요,

우선 세션을 설정하고 (웹 페이지에 접속하면) mysql에 해당 데이터가 들어가게 되지요.

phpmyadmin 에서  해당 칼럽을 수정을 하려고 하면
저런 에러가 납니다.

그렇기 때문에 제 생각에는 제가 세션에 데이터를 잘못넣었거나 (따음표 등등)
아니면 phpmyadmin 자체 CI 세션 입력에 대한 일부분을 잘못 받아들이는게 아닌지 하는겁니다.
한대승(불의회상) / 2012/02/02 17:58:13 / 추천 0
phpMyAdmin에 버그가 있는듯 싶네요
밥아저씨 / 2012/02/02 17:59:13 / 추천 0
 그렇죠?;;; 리눅스 mysql 콘솔에서는 잘 되는걸 봐서는,
 phpmyadmin 에서 몇몇 입력을 잘못받아들이는것 같네요...
감사합니다. 이놈의 세션때문에 맘고생이 심하네요...
한대승(불의회상) / 2012/02/02 18:00:36 / 추천 0
ㅎㅎㅎㅎ 건투를 빕니다