테스트 사이트 - 개발 중인 베타 버전입니다

쿼리결과 받기 채택완료

7개월 전 조회 2,341

</p>

<p>function insertWorkTime($conn, $zzzz, $time, $ip) {</p>

<p>   $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);</p>

<p>}</p>

<p> </p>

<p>function updateWorkOutTime($conn, $time, $ip) {</p>

<p>global $zzzz;</p>

<p>   </p>

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

<p>executeQuery($conn, $update_sql);</p>

<p>  </p>

<p>}</p>

<p> </p>

<p>

$data = $row[0];

$data1 = 1;

$data2 = 2;

$data3 = 3;</p>

<p> </p>

<p> </p>

<p>if ($check_result && mysqli_num_rows($check_result) > 0) {</p>

<p>    $row = mysqli_fetch_assoc($check_result);</p>

<p>    if (empty($row['work_outtime'])) {</p>

<p>        if (updateWorkOutTime($conn, $row['id'], $time)) {</p>

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

<p>        } else {</p>

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

<p>        }</p>

<p>    } else {</p>

<p>        if (insertWorkTime($conn, $zzzz, $time, $ip)) {</p>

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

<p>        } else {</p>

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

<p>        }</p>

<p>    }</p>

<p>} else {</p>

<p>    if (insertWorkTime($conn, $zzzz, $time, $ip)) {</p>

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

<p>    } else {</p>

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

<p>    }</p>

<p>}</p>

<p> </p>

<p>

 

insert 성공하면 data1  실패하면 data3

update 성공하면 data2 실패하면 data3

 

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

 

결과는

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

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

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

답변 1개

채택된 답변
+20 포인트

지금 올리신 소스만 보면 $check_result가 어떤 값을 가져 오는지 알 수가 없습니다. updateWorkOutTime($conn, $row['id'], $time)에 $time 값이 없습니다. 당연히 data3 이겠죠. insertWorkOutTime($conn, $row['id'], $time, $ip)에 $time, $ip 값이 없습니다.이것도 data3입니다. executeQuery 실행 후 mysqli_error($conn)로 에러를 확인해 보세요.  

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

답변에 대한 댓글 2개

$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 할때 타입값이 테이블에 정의된 타입이 아닐경우입니다.

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

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

로그인

전체 질문 목록

🐛 버그신고