2026, 새로운 도약을 시작합니다.

php5.6에서 7.4로 변경했을 때 규칙 채택완료

5년 전 조회 5,603
Copy

24시간 내 새글이 있을경우 갯수를 알려주는건데, php 5.6에서는 잘나오는데 php 7.4에서는 화면이 $aaa나 echo 이후부터 화면이 안나옵니다.

따옴표와 괄호등 PHP의 변경된 규칙 문제 같은데 봐도 잘모르겠습니다;

코드 수정 또는 조언 부탁드립니다.

답변 3개

채택된 답변
+20 포인트

notice, free 를 따옴표로 감싸세요

그리고 문자열과 변수는 확실히 구분하는게 좋습니다.

"g5_write_$table_id";
이런식의 코딩습관은 아주 안좋은 습관입니다.

"g5_write_".$table_id;

라고 하시든가

"g5_write_{$table_id}";

로 해야합니다.

7.x 버전에서 아마

"g5_write_$table[id]"

이런 코딩은 에러가 날겁니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

[code]
<?php
function new_count($table_id){
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * 24)); // 오늘
$tmp_write_table .= "g5_write_{$table_id}"; // 오늘과 글쓴 날짜를 비교
$sql2 = "select wr_datetime from {$tmp_write_table} where wr_datetime >= '{$intime}'";
// 새로운 글이 몇개 있는지 확인합니다.
$result2 = sql_query($sql2);
$total_count = mysql_num_rows($result2);
if ($total_count > 0) {
$str_cnt .= "".$total_count."";
return $str_cnt;
} else {
$str_cnt .= "";
return $str_cnt;
}
}

echo new_count('notice');
?>
[/code]
바꿔봤는데 출력되다가 여전히 echo 부분에서 멈추네요 ㅠ
조언 감사합니다.
mysql_num_rows 는 mysqli_num_rows 로 변경하셔야 합니다
php 7 이고, mysql 도 버전없이 맞게 수정해야 합니다
해피정님 mysqli로 바꾸고 잘됩니다. 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

mysql_num_rows 대신

$total_count = $result2->num_rows 로 사용해 보세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

잘됩니다. 감사합니다 ^^

댓글을 작성하려면 로그인이 필요합니다.

안녕하세요. 몰라무서워님이 잘 답변해주시기도 하였고

추가로 php 5, 7 차이에 대한 설명이 잘되어있는 블로그 첨부합니다.

http://blog.naver.com/simmani5/221302630714

무조건 fail로 뜨진 않고 주의 등으로 뜨는 오류들도 있습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

문외한이라 봐도 어렵네요 ㅠ
댓글 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고