티스토리 뷰
[php 오류] 오류: SQLSTATE[HY000]: General error: 1525 Incorrect DATE value: ''
Coding Life 2024. 5. 5. 08:13SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by num desc' at line 1
SQLSTATE[HY000]: General error: 1525 Incorrect DATE value: ''
위의 오류는 아래의 원인으로 발생합니다.
참고하시면 좋겠어요.
오류: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by num desc' at line 1
이 오류는 MySQL 서버 버전에 맞지 않는 SQL 구문을 사용하고 있을 때 발생합니다. "order by num desc" 부분에서 오류가 발생하고 있는데, 아마도 해당 쿼리의 문제가 될 수 있습니다. 정확한 오류를 해결하기 위해서는 쿼리 전체를 봐야 합니다만, "order by" 절의 문제로 보입니다.
MySQL에서 "order by" 절을 사용할 때는 정렬하려는 열과 정렬 방향을 지정해야 합니다. "desc"는 내림차순(큰 값부터 작은 값으로)으로 정렬하겠다는 것을 나타내는데, 이것이 올바르게 사용되었는지 확인해야 합니다.
예를 들어, "num"이라는 열을 내림차순으로 정렬하려면 다음과 같이 작성해야 합니다.
$sql : select * from dbchandj.motor where (deadline='' OR deadline='0000-00-00) ' and orderdate between '2024-04-05' and '2024-05-05' and is_deleted IS NULL order by num desc
제시된 SQL 쿼리에서 오류가 발생하는 부분을 보니, "deadline" 열에서 문자열 값을 비교할 때 따옴표를 제대로 닫지 않은 것으로 보입니다. "0000-00-00"에 대한 따옴표를 닫지 않았습니다.
select * from dbchandj.motor where (deadline='' OR deadline='0000-00-00') and orderdate between '2024-04-05' and '2024-05-05' and is_deleted IS NULL order by num desc
위와 같이 따옴표를 제대로 닫아주면 쿼리가 올바르게 동작할 것입니다.
오류: SQLSTATE[HY000]: General error: 1525 Incorrect DATE value: ''
이 오류는 날짜 값을 비교할 때 잘못된 형식의 날짜가 사용되었을 때 발생합니다. 예상치 못한 형식의 날짜가 사용되었거나 누락된 것으로 보입니다.
여기서 주목해야 할 부분은 "deadline" 열에 대한 조건부 검색입니다. "deadline" 열이 비어 있거나 "0000-00-00"이라는 날짜인 경우를 찾으려고 하고 있습니다.
그러나 오류 메시지에서 알 수 있듯이 MySQL은 ''(빈 문자열)을 유효한 날짜 값으로 처리하지 않습니다. 대신에 빈 문자열 대신 NULL을 사용해야 합니다.
따라서 쿼리를 수정하여 빈 문자열을 NULL로 변경해야 합니다.
다음은 수정된 쿼리입니다:
select * from dbchandj.motor where (deadline IS NULL OR deadline='0000-00-00') and orderdate between '2024-04-05' and '2024-05-05' and is_deleted IS NULL order by num desc
위 쿼리에서는 "deadline"이 NULL이거나 '0000-00-00'인 경우를 선택하고 있습니다. 이제 이 쿼리를 실행하면 오류 없이 결과를 얻을 수 있어야 합니다.
문제는 해결되었습니다.
결국 컬럼의 deadline을 ''으로 하면 위의 오류가 나온다는 결론에 이릅니다.
deadline IS NULL 로 해야 겠네요~
한수 배웠습니다.
'IT tech Coding > php' 카테고리의 다른 글
php 회사 도장발주에 사용하는 코드 중 도장색상을 다른 것만 badge로 표시하기 (0) | 2024.05.20 |
---|---|
php+javascript 매출 차트 만들기 feat GPT (0) | 2024.05.19 |
php 3항 연산자 실제 사용사례 보기 (0) | 2024.05.02 |
`$stmh = $pdo->prepare($sql);`와 `$stmh = $pdo->query($sql);` 차이점 비교 (0) | 2024.03.19 |
오류: SQLSTATE[HY000]: General error: 2031 php 오류코드는 무엇인가? (0) | 2024.03.19 |
- Total
- Today
- Yesterday
- 테크에능한여성
- 프로그래머생활
- isset을 적용해야 하는 이유
- 파이썬코드줄바꿈방법
- 캐드자동작도
- #프로그램설치
- 스크립트작성기초
- 엑셀셀보호
- 엑셀입력보호
- 구글드라이브API
- json파일형태보기
- 코딩효율성
- #파이썬패키징
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- ajax오류메시지
- sql문장 날짜계산
- General error: 2031
- 티스토리챌린지
- chatGPT3.5파이썬버전
- 코딩튜토리얼
- 엑셀보호
- 오토핫키가이드
- 오블완
- 효율적코딩방법
- 도면자동생성
- #InstallForge
- json파일편하게보는법
- Bootstrap 5
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- 뫄프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |