여분필드가 일정갯수 이상 추가되지 않을때...
본문
여분필드가 일정갯수 이상 추가되지 않을때...
참고 : 여분필드 77개 이상 추가되지 않을때 https://sir.kr/g4_tiptech/34279
우선 위 링크의 게시글을 보고 혹시나 하는 마음에 시도는 해봤습니다.
결과론으로 따져보면, MySQL 버전 5.0.3 이후에서 varchar 값이 0~65,535의 값을 가진다라고 되어 있더라고여.
그래서 list.skin.php 내용에서
ALTER TABLE $g4[write_prefix]$bo_table ADD wr_{$di} VARCHAR(65535) NOT NULL
이렇게 넣으니까 여분필드가 76개까지 만들어지던것이 100개 이상 만들어지더군요.
이것에 대해서 그누보드 질문답변 게시판에서도 명확한 답변이 없어 직접 찾아봤습니다.
varchar(255) 를 실제로 phpmyadmin 에서 살펴보니 varchar(255) 로 나오고,
varchar(65535) 이렇게 해놓았더니 mediumtext 로 나오더군요.
혹시 저 처럼 헤매시는분이 계실까봐 올려봅니다.
참고로, mediumtext = 16Mib, longtext = 4GiB 입니다...
이런내용이 끝에있더라구요 그래서
list.skin.php 내용에서
ALTER TABLE $g4[write_prefix]$bo_table ADD wr_{$di} VARCHAR(65535) NOT NULL 에서 $g4를 $g5바꿔서 올려봤고
mysql에서 varchar(65535) 로해서 mediumtext으로 나오긴하는데ㅠㅠㅠ
이렇게하면 혹시나 값이 저장될까해서 해봤는데 ㅠㅠ 안되서 질문올립니다
write.skin.php
<input type="text" name="wr_35" value="<?php echo $wr_35 ?>" id="wr_35" class="form-control" style="width:250px;" maxlength="100" placeholder="" />
write_update.skin.php
$wr_35 = "$wr_35";
$wr_35 = " update $write_table set wr_35 = '$wr_35' where wr_id = '$wr_id' ";
sql_query($sql35);
view.skin.php
<?php echo $view[wr_35]; ?>
많은 여분필드를 추가했을때 추가가 안된다면 어떻게 해야될까여 ㅠㅠㅠ.ㅠ..?
아시는분 계시나요
참고로 MySQL 직접 varchar(255) 으로 설정한걸 세어보니 77개이상일때만 안되구있습니다...
test로 해도 저장이안되는거같구요 ㅠㅠ
답변 2
varchar(255)를 줄이세요
20이나 10으로요
아아그리고 혹시 이글 보시는 분들중에
write_update.skin.php
$wr_35 = "$wr_35";
$sql35= " update $write_table set wr_35 = '$wr_35' where wr_id = '$wr_id' ";
sql_query($sql35);
잘못보실까봐 수정해둬여 한군데 잘못되서 ㅎㅎ...ㅠㅠ