PHP7.4 에서 보이지 않는 에러가 나오는 데요
본문
PHP7.1 에서는 정상적으로 나오며, 7.4로 넘겨 보니 다중 가테고리 설정 부분에서 1단계 부분은 나오는데
2단계에서 가테고리 리스트가 나오지 않은 문제가 생겼습니다. 명령어가 달라진 거 같기도 하고
고견을 부탁 드리겠습니다. ^^ 2단계 가테고라 부분 입니다.
<?php if($write['bo_category2']){?>
<?php
$sql2 = " select ca_id, ca_name from {$g5['review_category_table']} where LENGTH(ca_id) = '4' and SUBSTRING(ca_id,1,2) = SUBSTRING('{$write['bo_category2']}',1,2) and ca_use = '0' order by ca_order ";
echo "<script>console.log('" . $sql2 . "')</script>";
$result2 = sql_query($sql2);
for ($j=0; $ca2=sql_fetch_array($result2); $j++){
if($ca2['ca_id'] == $write['bo_category']){
$selected = "selected";
} else{
$selected = "";
}
?>
<option value="<?=$ca2['ca_id']?>" <?php echo $selected; ?>><?=$ca2['ca_name']?></option>
<?php }?>
<?php } else {?>
<option selected value="">1단계를 선택</option>
<?php }?>
</select>
<?php }?>
답변 1
1. 문자열 중간의 {} 도 가능하면 안쓰시는게... 당장은 문제 없으시겠지만요.
select ca_id, ca_name from {$g5['review_category_table']} where LENGTH(ca_id) = '4' and SUBSTRING(ca_id,1,2) = SUBSTRING('{$write['bo_category2']}',1,2) and ca_use = '0' order by ca_order ";
==>
select ca_id, ca_name from ." $g5['review_category_table'] ." where LENGTH(ca_id) = '4' and SUBSTRING(ca_id,1,2) = SUBSTRING('". $write['bo_category2'] ."',1,2) and ca_use = '0' order by ca_order ";
2. 항상 <?php 로 시작하셔야 합니다. 숏태그 안되요.
<?=$ca2['ca_id']?> ==> <?php echo $ca2['ca_id']; ?>
이런식으로 모두 바꾸세요.