변수값 db 저장 문제 채택완료

8개월 전 조회 2,971
Copy
$zzzz = $_GET['cccc'];
$time = date("Y-m-d H:i:s");
$today = date("Y-m-d");
$ip = $_SERVER['REMOTE_ADDR'];
$check_sql = "SELECT id, work_name, work_intime, work_outtime FROM very_work_time1 WHERE work_total = '$zzzz' ORDER BY work_datetime DESC LIMIT 1";
$check_result = mysqli_query($conn, $check_sql);
$result = mysqli_query($conn, "SELECT work_name, aaaa, bbbb, cccc FROM very_work_list WHERE work_id='$zzzz' ");
$row = mysqli_fetch_array($result);
$gggg = $row[0];
$data1 = $row[1];
$data2 = $row[2];
$data3 = $row[3];


if ($check_result && mysqli_num_rows($check_result) > 0) {
    $row = mysqli_fetch_assoc($check_result);
    if (empty($row['work_outtime'])) {
        if (updateWorkOutTime($conn, $row['id'], $time)) {
            $ggggg = $data2; 
        } else {
            $ggggg =  $data3;
        }

    } else {
        if (insertWorkTime($conn, $zzzz, $time, $ip)) {
            $ggggg =  $data1;
        } else {
            $ggggg =  $data3;
        }
    }
} else {
    if (insertWorkTime($conn, $zzzz, $time, $ip)) {
        $ggggg =  $data1;
    } else {
        $ggggg =  $data3;
    }
}


echo $gggg , $ggggg;

echo 출력 해보면

$gggg , $ggggg  둘다 값이 출력됩니다

$gggg 값은 사람이름이고요

$ggggg 값은 숫자입니다

쿼리로 db에 저장하려고 하는데요

$gggg  값은 저장이되는데

$ggggg 값은 저장이 안됩니다 ㅠㅠ

답변 2개

채택된 답변
+20 포인트
echo $gggg , $ggggg; 값이 제대로 들어있는지 디버깅 하여 확인해보시기 바랍니다.

echo "이름: " . $gggg . ", 숫자값: " . $ggggg . "<br>";

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

답변에 대한 댓글 3개

function updateWorkOutTime($conn, $id, $time) {
global $zzzz, $gggg, $ggggg;

echo "이름: " . $gggg . ", 숫자값: " . $ggggg . "<br>";

$sql2 = "UPDATE work1111 SET gggg = '$gggg', ggggg = '$ggggg' WHERE jjjj = '99999'";
$conn->query($sql2);

}

이렇게 해보니
이름: 서태원, 숫자값: <- 이렇게 출력됩니다.

$gggg, $ggggg 를 글로벌 변수로 넣어 줬는데 숫자값이 안들어 가는군요 ㅍㅍ


function 밖에서는
이름: 서태원, 숫자값:3 <- 이렇게 출력됩니다.


이름은 들어가는데 숫자는 왜 안들어 갈까요?
$ggggg 변수에 정해진 값이 없다라는 뜻이 되겟습니다.
echo "이름: " . $gggg . ", 숫자값: " . $ggggg . "<br>";

// 결과 저장 $ggggg; 숫자로 변환
$name = mysqli_real_escape_string($conn, $gggg);
$number = (int)$ggggg;

$insert_sql = "INSERT INTO my_table (name, number, created_at, ip)
VALUES ('$name', $number, '$time', '$ip')";

if (mysqli_query($conn, $insert_sql)) {
echo "저장 성공!";
} else {
echo "저장 실패: " . mysqli_error($conn);
}

function insertWorkTime($conn, $userId, $time, $ip) {
$sql = "INSERT INTO very_work_time1 (work_total, work_intime, work_datetime, work_ip)
VALUES ('$userId', '$time', '$time', '$ip')";
return mysqli_query($conn, $sql);
}

function updateWorkOutTime($conn, $id, $time) {
$sql = "UPDATE very_work_time1 SET work_outtime = '$time' WHERE id = $id";
return mysqli_query($conn, $sql);
}

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

업데이트 쿼리 채크 해보세요.

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

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

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

로그인
🐛 버그신고