설문 웹페이지를 만들고 있는데,
html 태그가 속성이 다양하다보니,
mysql에 넣기가 어렵습니다.
(제각각 속성이 달라서 속성에 따른 칼럼을 생성하면 널값이 들어가는 공간이 너무 많아요)
그래서 생각한게, input 타입이라는 칼럼에 속성까지 모두 넣는거였습니다.
Ex) input type 칼럼값 : 'range' max='5' min='1'
그런데 php에서 호출한 mysqli_query의 결과물이 오류가 납니다.
따옴표가 문제인데,
html 태그 속성값을 '로 감싸주다보니,
$sql을 선언할때 사용한 '과 중복되면서 의도치 않은 위치에서 문자열이 잘리고 오류가 발생합니다.
'와 "의 위치를 바꿔버리면 {$변수명}위치에 변수값이 들어가지 않고 있는 그대로 '{$변수명}'이라는 문자열이 들어가 버리구요
이스케이프도 써봤는데 그것도 안되네여
혼자서는 해결이 안되서 조언 구해봅니다.
(아래는 코드 배껴서 타이핑하는 과정에 오타가 있었습니다. 어떻게 수정하는지 몰라서 일단 둘게요)
태그가 다양하면 XML 형태로 처리할수도 있을꺼 같아요
-- MySQL SELECT str , ExtractValue(str, '//input') as val1 , ExtractValue(str, '//max') as val2 , ExtractValue(str, '//min') as val3 FROM ( SELECT ' radio max=''5'' min=''1'' ' as str UNION ALL SELECT '<root><input>radio max=''5'' min=''1''</input></root>' UNION All SELECT '<root><input>radio</input><max>5</max><min>1</min></root>' ) tmpTbl