connect_error) { http_response_code(500); echo json_encode(['message' => 'DB 연결 실패: ' . $conn->connect_error]); exit; } mysqli_set_charset($conn, 'utf8mb4'); // FK 에러 방지: products 테이블에 존재하는지 확인 $chk = $conn->prepare("SELECT COUNT(*) FROM products WHERE code=?"); $chk->bind_param("s", $product_code); $chk->execute(); $chk->bind_result($cnt); $chk->fetch(); $chk->close(); if ($cnt < 1) { http_response_code(400); echo json_encode(['message' => '존재하지 않는 제품코드입니다']); exit; } // 실제 insert/update 쿼리 실행 $sql = "INSERT INTO deploy_versions (product_code, family_version, external_version) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE family_version=VALUES(family_version), external_version=VALUES(external_version)"; $stmt = $conn->prepare($sql); if (!$stmt) { http_response_code(500); echo json_encode(['message' => '쿼리 준비 오류: ' . $conn->error]); exit; } $stmt->bind_param("sss", $product_code, $family_version, $external_version); if ($stmt->execute()) { echo json_encode(['message' => '저장 완료']); } else { http_response_code(500); echo json_encode(['message' => 'DB 오류: ' . $stmt->error]); } $stmt->close(); $conn->close(); ?>