묻고답하기
DB가 이상한 에러를 내뿜네요. 한번만 눈길좀 주십쇼. 굽신굽신
2014.09.12 18:30
- 로컬 서버에서 -
모듈개발중에 업데이트 할일이 있어서 모듈.class.php 를 통해 DB 테이블에 text 형식의 칼럼(offdate)을 추가했어요.
그리고 페이지에서 값을 넣었어요. 숫자(문자) 이런 형식으로요
DB에 잘 들어갑니다.
- 실서버에서 -
옳타꾸나~~ 하면서 실서버로 적용을 했습니다.(카페24호스팅)
class 를 통해서 '업데이트'버튼을 눌러서 모듈 업데이트를 하고 TEXT형식의 칼럼추가를 확인했습니다.
그리고 페이지에서 해당 칼럼에 값을 넣으려는데...
1. 분명 숫자(문자) 이런형식으로 넣었는데 DB에 안들어갑니다. 아래처럼 에러가 나오구요
아마도 (문자)때문에 에러가 난다고 하는것 같습니다.
실제화면 -
입력값 : 20140922(안녕)
에러메세지 : 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 '(안녕), 'var2'=2, .....블라블라블라~~~
2. 그래서 숫자만 집어넣어봤는데 잘 들어가네요.
3. 순수문자만 넣어보면 문자이름으로된 칼럼이 존재하지 않는다는... 이런 얼토당토않는 소리가 나오네요
실제화면 -
입력값 : 안녕Unknown column '안녕' in 'field list'
예전에 한번 로컬서버에서 이런적이 있어서 5시간정도 해멨는데 DB를 껏다가 다시 켜니깐 아무일없었다는듯이 잘 입력되더라구요. 그런데 지금은 로컬은 잘되고 실서버에서 이렇게 되고 있습니다.
캐시파일재생성 버튼은 거짓말 안하고 20번은 눌러본것 같습니다.
카페24에 말해도 DB를 저혼자때문에 재부팅할 수도 없을꺼고....
이 현상 어떻게 고치는지 알고계시는분 힌트좀 주시면 감사하겠습니다. ㅠㅠ
댓글 5
-
sejin7940
2014.09.12 19:51
-
Hello_XE
2014.09.12 22:24
와우~!!!!!
한방에 싹!!! 씻은듯이 해결되었습니다.
덕분에 정말 좋은 팁을 얻게 되었습니다. 업데이트제공시 반드시 스키마파일도 제공해주어야 하겠군요.
@sejin7940님 정말 신경써서 명확한 댓글로 지도해 주셔서 진심으로 감사를 드립니다. ^^
이렇게 누군가 저를 도와주신다는게 정말 기분이 좋네요 ^^ 저도 다른분들 많이 돕겠습니다.
-
sejin7940
2014.09.13 00:29
저도 처음 모듈 만들때 이걸로 꽤 고생한적이 있었거든요
(이 현상을 아시는 분이 없어서, 혼자서 알아내느라 한참 걸렸었죠. ^^;;)
특히 이게 문제가 되는건, 외부 모듈에서가 아니라.
외부 모듈에서 Core 에서 생성한 table 에 대해 칼럼을 추가한 경우인데..
XE 개발진에 문의를 해봤었는데, 이건 외부모듈에서 어떻게 할 방법이 없다고 하더군요
불가피하게도 Core 의 해당 schema 를 꼭 수정해야한다고 하네요.
-
Hello_XE
2014.09.13 14:04
해당 스키마를 꼭 수정해야하다니....코어에서 만들어놓은 테이블을 건드리면 정말...힘든작업이 되는거군요.
그런데 숫자는 허용이 되는게 또 재미있네요.
도움주셔서 다시한번 감사의 말씀드립니다 @sejin7940님. -
퍼니엑스이
2014.09.13 16:36
따옴표로 감쌌을 때만 문자열로 인식하고, 그렇지 않으면 문자열이 아니라 칼럼명으로 인식하기 때문입니다.
text 형식에서, 숫자나 영어는 들어가는데 한글을 넣으면 저렇게 되시는거죠?
해당 모듈에서, 해당 칼럼이 schema 내부의 해당 테이블에 선언되어있는지 확인해보세요
schemas 파일에 선언이 안 되어있으면 한글 입력시 이렇게 에러가 납니다.