쿼리결과 받기

쿼리결과 받기

QA

쿼리결과 받기

답변 1

본문


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

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

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

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




 

$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) 로 확인해 보면 쿼리실행 실패라고 나오네요.
정상적으로 저장이 되는데. 왜 실패로 나올까요?

phpmyadmin 설치하셨으면 echo 쿼리문; 복사하셔서 입력해보시면 오류내용이 나옵니다.

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #php ×
전체 15,825
© SIRSOFT
현재 페이지 제일 처음으로