채택완료

쿼리결과 받기

2025-04-28 (월) 18:38:35 3,623
Copy
function insertWorkTime($conn, $zzzz, $time, $ip) {

   $insert_sql = "INSERT INTO very_work_time (work_id, work_name, work_group, work_intime, work_outtime, work_datetime, work_ip, work_total, dddd)
                   SELECT '$data61', work_name, work_group, ('$today $data63') , '', '$time', '$ip', '$zzzz', '0' 
                   FROM very_work_list
                   WHERE work_id = '$zzzz'";
    executeQuery($conn, $insert_sql);

}

 

function updateWorkOutTime($conn, $time, $ip) {

global $zzzz;

   

$update_sql = "UPDATE very_work_time SET work_outtime = ('$today $out_time') WHERE id = '$id' AND dddd < '$var' ";

executeQuery($conn, $update_sql);

  

}

 


$data = $row[0];
$data1 = 1;
$data2 = 2;
$data3 = 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)) {

            echo $data, "6", $data2; // 작업 성공

        } else {

            echo $data, "6", $data3; // 작업 실패

        }

    } else {

        if (insertWorkTime($conn, $zzzz, $time, $ip)) {

            echo $data, "6", $data1; // 작업 성공

        } else {

            echo $data, "6", $data3; // 작업 실패

        }

    }

} else {

    if (insertWorkTime($conn, $zzzz, $time, $ip)) {

        echo $data, "6", $data1; // 작업 성공

    } else {

        echo $data, "6", $data3; // 작업 실패

    }

}

insert 성공하면 data1  실패하면 data3

update 성공하면 data2 실패하면 data3

값이 출력되게 하려고 위와같이 했습니다

결과는

성공하든 실패하든 data3 이 반환됩니다

어디가 잘못된건지 알고싶습니다

|

답변 1개 / 댓글 2개

채택된 답변
+20 포인트

지금 올리신 소스만 보면 $check_result가 어떤 값을 가져 오는지 알 수가 없습니다.

updateWorkOutTime($conn, $row['id'], $time)에 $time 값이 없습니다. 당연히 data3 이겠죠. insertWorkOutTime($conn, $row['id'], $time, $ip)에 $time, $ip 값이 없습니다.이것도 data3입니다.

executeQuery 실행 후 mysqli_error($conn)로 에러를 확인해 보세요.




 

답변에 대한 댓글 2개

2025-04-28 (월) 19:58:08
$time = date("Y-m-d H:i:s");
$ip = $_SERVER['REMOTE_ADDR'];

이렇게 변수 지정되어 있습니다..
function executeQuery($conn, $sql) {
if (!mysqli_query($conn, $sql))
{
echo "에러: " . $sql . "<br>" . mysqli_error($conn);
exit;
}
}

$check_sql = "SELECT id, work_name, work_intime, work_outtime FROM very_work_time WHERE work_total = '$zzzz' ORDER BY work_datetime DESC LIMIT 1";
$check_result = mysqli_query($conn, $check_sql);

$check_result 관련은 이렇게 있습니다.

mysqli_error($conn) 로 확인해 보면 쿼리실행 실패라고 나오네요.
정상적으로 저장이 되는데. 왜 실패로 나올까요?
2025-04-29 (화) 07:10:31
phpmyadmin 설치하셨으면 echo 쿼리문; 복사하셔서 입력해보시면 오류내용이 나옵니다.

대부분은 테이블이나 칼럼명이 없거나 오타인 경우
insert 나 update 할때 타입값이 테이블에 정의된 타입이 아닐경우입니다.

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