php 버전에 따라서 퀴리가 달라져야 하는 것일까요? ㅜㅜ

php 버전에 따라서 퀴리가 달라져야 하는 것일까요? ㅜㅜ

QA

php 버전에 따라서 퀴리가 달라져야 하는 것일까요? ㅜㅜ

사용 PHP 버전

7.4

본문

1개의 데이타만 뽑아서 wr_id, wr_subject 등의 값을 추출하려고 하는데요, 동일한 내용을 2군데에서 사용하고 잇는데요,  php 7.4.9 환경에서 잘 되고 있는데 php7.4 에서는 안되는데 쿼리를 어떻게 고쳐야 할까요?

 

$link_forview = "12345"   ;

$sql11 = "select wr_id, wr_subject, wr_1 from g5_write_hbp_board where wr_link2 = '{$link_forview}' limit 1"  ;

          $result11 = $mysqli->query($sql11);                         
             
         $row11 = mysqli_fetch_array($result11); 

 

이때 $row11['wr_subject']  $row11['wr_id']  등의 값이 추출되지 않네요 초보자라서 좀 서툴지만 양해부탁합니다
 

이 질문에 댓글 쓰기 :

답변 1

PHP 7.4.9에서 잘 작동하던 코드가 PHP 7.4 (다른 서버 환경?)에서는 동작하지 않는 문제는 PHP 버전 차이보다는, MySQLi 설정, 연결 방식, 또는 쿼리 실행 방식 문제일 가능성이 높습니다.
아래에서 하나씩 점검해드릴게요.

 

✅ 우선 기본 확인: $mysqli 객체가 제대로 연결되어 있는지?
$mysqli = new mysqli(...); 와 같은 연결이 정상적으로 이루어졌는지 먼저 확인이 필요합니다.


if ($mysqli->connect_errno) {
    echo "MySQL 연결 실패: " . $mysqli->connect_error;
    exit;
}

핵심 문제: mysqli_fetch_array() 대신 mysqli_fetch_assoc() 사용 권장

$row11 = mysqli_fetch_array($result11);
이 코드는 기본적으로 연관배열 + 숫자 인덱스 배열을 모두 포함하지만, 일부 설정에서는 제대로 동작하지 않을 수 있어요.
 

? 해결 방법:
$row11 = mysqli_fetch_assoc($result11);
이렇게 하면 ['wr_subject'], ['wr_id'] 등 연관 배열 키로만 안전하게 접근할 수 있습니다.

 

<?php
$link_forview = "12345";

// DB 연결
$mysqli = new mysqli("localhost", "db_user", "db_pass", "db_name");
if ($mysqli->connect_errno) {
    echo "MySQL 연결 실패: " . $mysqli->connect_error;
    exit;
}

// 쿼리 실행
$sql11 = "SELECT wr_id, wr_subject, wr_1 FROM g5_write_hbp_board WHERE wr_link2 = '{$link_forview}' LIMIT 1";
$result11 = $mysqli->query($sql11);

if ($result11 && $row11 = mysqli_fetch_assoc($result11)) {
    echo "ID: " . $row11['wr_id'] . "<br>";
    echo "제목: " . $row11['wr_subject'] . "<br>";
    echo "wr_1: " . $row11['wr_1'] . "<br>";
} else {
    echo "데이터를 찾을 수 없습니다.";
}
?>

chatgpt 답변입니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 15,825
QA 내용 검색
filter #php ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT