MYSQL에서 html이 사용가능하다 들었는데 사용법 좀 알려주세요.
MYSQL의 기본문법에 대해서는 알고 있습니다.
테이블 만들고 컬럼의 값을 입력하고 데이터검색하고 이런건 책에 많이 언급되어 있는데,
제가 원하는 부분에 대해 나와있지 않아서요.
MYSQL에서 html 사용에 언급 부분이 나온다면 책 제목이라도 가르쳐주세요. 공부할 수 있게 도와주심 감사하겠습니다. 부탁드립니다.
어따 쓰시게요??
홈페이지를 만들면서 필요한 기능입니다.TT;
혹시 알고 계시다면 MYSQL에서 html문법을 사용하는 방법을 알고 계시다면 부디 가르쳐주세요. 다른분은 컬럼값입력하는 부분에서 직접 html을 써넣으면 된다고 하던데......전 안되더라구요.
html 코드 직접 넣으시면 됩니다... 다만 특수문자들은 escape 시켜줘야 됩니다...
<input type="button" value="그림" onClick="javascript:window.open('c:\\04.htm');">
특수문자 \를 이스케이프 시켜줬음에도 불구하고 웹에서 확인할때 버튼은 나오는데 클릭시 창이 열리지 않습니다.
뭘 잘못 한 걸까요?
위 코드에서 이스케이프 시켜줘야 하는것들은...
" 와 \ 와 ' 세개이겠네요...
<input type="button" value="그림" onClick=\"javascript:window.open(\'c:\\04.htm\');\">
" 과 \ 과 ' 의 세가지의 특수 문자 앞에 \적어 이스케이프 시켰는데
역시나 웹에서 결과는 버튼은 나오는데 창이 열어지지 않습니다.
이유가 뭔가요?
뭘루 입력하셨는데요?? asp? php? jsp? 아님 콘솔?
아참.. onClick 은 그것자체가 스크립트니 javascript: 가 필요없습니다.
IIS+php+mysql 을 쓰고 있습니다.
버전은 phpmyadmin 2.6.0-pl1 환경에서 입력했습니다.
javascript:를 삭제하고 해도 웹에서 출력되는 결과는 역시나 버튼은 나오는데 창은 열어지지 않습니다.
휴우...........이유가 뭘까요??
php 는 form 에서 넘어오는 값은 자동으로 이스케이프 처리해줍니다.
mysql> 콘솔에서 select 해보세요.. 제대로 입력이 되었는지..
여태까지는 특정 필드에서 타입을 text로 만든후 직접거기에 html태그를 입력했었습니다.
입력내용-> <input type="button" value="그림" onClick="window.open('c:\\01.htm\\');">
sql에 저장된 내용-> <input type="button" value="그림" onClick="window.open(''c:\\\\01.htm\\\\'');"> '
php는 알아서 특수문자에 알아서 익스케이프를 하신다고 했는데 아무래도 입력은 저렇게 하지 않았는데 저장되는 결과에 경로가 엉뚱해져버리는 이유를 모르겠습니다.
이번에는 아예 sql질의문을 통하여
값들을 insert할때
<input type="button" value="그림" onClick="window.open('c:\\01.htm\\');">
넣었습니다.
그런데
에러메세지가 떴습니다.
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 'c:\\01.htm\\');"> at line 1
대강 상황을 알겠습니다.. php 와 mysql 을 처음 쓸때 접하는 문제죠..
php 는 폼에서 넘어오는 값들은 자동으로 escape 해줍니다...
즉...
를 입력하셨다면... 다음 페이지에서 폼값을 받아 그대로 출력해보면
<input type=\"button\" value=\"그림\" onClick=\"window.open(\'c:\\\\01.htm\\\\\');\">
가 되어 있습니다...
이걸 mysql 에 입력하면
<input type="button" value="그림" onClick="window.open('c:\\01.htm\\');"> 로 입력되지요...
sql 질의로 위 값을 그대로 입력하면 당근 에러나죠... 이스케이프 해줘야죠...
정상적으로 입력하려면 텍스트 필드에 입력하실때
<input type="button" value="그림" onClick="window.open('c:\01.htm');">
로 그냥 입력하시면 됩니다... 그냥 html 쓰시듯이...
나머진 php 가 알아서 해줍니다... 똑똑한 php ^____^
텍스트 필드에 html을 그래로 입력하면 된다고 저도 그렇게 듣고 입력하여 <input type="button" value="그림" onClick="window.open('c:\01.htm');"> 이렇게 입력하면
역시나 안됩니다. sql질의문을 통하여 확인하면
<input type="button" value="그림" onClick="window.open(''c:\\01.htm'');">
' 이 " 이것으로 바뀌어 여전히 에러가 납니다.
이스케이프를 알아서 해주는건 보이는데 따옴표가 왜 지가 혼자 변경이 되는지 모르겠어요.
또 아예 값을 insert할때 <input type="button" value="그림" onClick="window.open('c:\01.htm');"> 해버리면
#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 'c:\01.htm');"> 이런 에러메세지가 뜨고요.
혹시 버전에 따라 쓰는 mysql 버전에 따라 html을 쓰는 방법이 다른건가요? 이걸 해결해야지만 다음 진도를 나갈텐데요....
ps. 계속 답글 달아주시고 신경 써 주셔서 감사합니다.
insert 하는 php 코드에 문제가 있나보네요...