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개
지금 올리신 소스만 보면 $check_result가 어떤 값을 가져 오는지 알 수가 없습니다.
updateWorkOutTime($conn, $row['id'], $time)에 $time 값이 없습니다. 당연히 data3 이겠죠. insertWorkOutTime($conn, $row['id'], $time, $ip)에 $time, $ip 값이 없습니다.이것도 data3입니다.
executeQuery 실행 후 mysqli_error($conn)로 에러를 확인해 보세요.
답변에 대한 댓글 2개
대부분은 테이블이나 칼럼명이 없거나 오타인 경우
insert 나 update 할때 타입값이 테이블에 정의된 타입이 아닐경우입니다.
답변을 작성하려면 로그인이 필요합니다.
$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) 로 확인해 보면 쿼리실행 실패라고 나오네요.
정상적으로 저장이 되는데. 왜 실패로 나올까요?