fix(mysql8): MySQL 8.0 Strict Mode DATE 필드 호환성 수정
MySQL 8.0의 Strict Mode에서 DATE 컬럼에 빈 문자열('')을 허용하지 않는
문제를 해결하기 위해 여러 파일 수정
📁 수정된 파일:
- output/_request.php: DATE 필드 빈 문자열을 NULL로 변환
- output/insert_iList.php: ACIaskDate, ACIdoneDate NULL 처리
- output/_row.php: eList_screen, eList_slat 변수 추가
- output/list_document.php: DATE 비교 조건에서 != '' 제거
- output/list_document_except.php: DATE 비교 조건에서 != '' 제거
- output/list_QCsales.php: ACIdoneDate != '' 조건 제거
- account_juil/list_daily.php: dueDate != '' 조건 제거
🐛 해결된 오류:
- SQLSTATE[HY000]: General error: 1525 Incorrect DATE value: ''
- Internal Server Error (undefined variables)
🔧 변경 내용:
- 날짜 필드 입력 시 빈 문자열 → NULL 변환
- SQL WHERE 절에서 DATE != '' 비교 → IS NOT NULL 비교로 변경
- MySQL 8.0 STRICT_TRANS_TABLES, NO_ZERO_DATE 모드 호환
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -70,12 +70,12 @@ if ($separate_date == "1") {
|
||||
// 진행상태에 대한 검색
|
||||
$orderby = " ORDER BY " . $SettingDate . " DESC, num DESC"; // 내림차순 정렬
|
||||
|
||||
if ($existing_status == '전체') {
|
||||
$where = " WHERE " . $SettingDate . " BETWEEN date('$fromdate') AND date('$Transtodate') AND is_deleted = '0' AND ACIregDate IS NOT NULL AND ACIregDate != '' AND ACIcheck = '1' " . $orderby;
|
||||
$searchwhere = " WHERE is_deleted = '0' AND ACIregDate IS NOT NULL AND ACIregDate != '' AND ACIcheck = '1' AND searchtag LIKE '%$search%'" . $orderby;
|
||||
} else {
|
||||
$where = " WHERE " . $SettingDate . " BETWEEN date('$fromdate') AND date('$Transtodate') AND is_deleted = '0' AND regist_state = '$existing_status' AND ACIregDate IS NOT NULL AND ACIregDate != '' AND ACIcheck = '1' " . $orderby;
|
||||
$searchwhere = " WHERE is_deleted = '0' AND regist_state = '$existing_status' AND ACIregDate IS NOT NULL AND ACIregDate != '' AND ACIcheck = '1' AND searchtag LIKE '%$search%'" . $orderby;
|
||||
if ($existing_status == '전체') {
|
||||
$where = " WHERE " . $SettingDate . " IS NOT NULL AND " . $SettingDate . " >= '$fromdate' AND " . $SettingDate . " <= '$Transtodate' AND is_deleted = '0' AND ACIregDate IS NOT NULL AND ACIcheck = '1' " . $orderby;
|
||||
$searchwhere = " WHERE is_deleted = '0' AND ACIregDate IS NOT NULL AND ACIcheck = '1' AND searchtag LIKE '%$search%'" . $orderby;
|
||||
} else {
|
||||
$where = " WHERE " . $SettingDate . " IS NOT NULL AND " . $SettingDate . " >= '$fromdate' AND " . $SettingDate . " <= '$Transtodate' AND is_deleted = '0' AND regist_state = '$existing_status' AND ACIregDate IS NOT NULL AND ACIcheck = '1' " . $orderby;
|
||||
$searchwhere = " WHERE is_deleted = '0' AND regist_state = '$existing_status' AND ACIregDate IS NOT NULL AND ACIcheck = '1' AND searchtag LIKE '%$search%'" . $orderby;
|
||||
}
|
||||
|
||||
// 수정된 쿼리: ACIregDate이 존재하고 is_deleted가 0인 자료만 선택
|
||||
|
||||
Reference in New Issue
Block a user