Wordpress 4.2.2 업데이트 실패 wpdb-> 삽입
맥락
저는 개인 웹사이트로서 새로운 워드프레스 블로그를 만들고 있습니다.그 중 하나는 커스텀 컨택 폼이 있어서 사람들이 저에게 연락하기 위해 자신의 세부사항을 기입하는 것입니다.오전까지 정상적으로 동작하고 있으며, 그 후 보안상의 이유로 4.2.2v로 업데이트했습니다.
문제
업데이트 후 양식이 DB에 정보를 저장하지 못했습니다.그$wpdb->insert_id0을 반환하고 있습니다.쿼리, 페이지, 모든 것이 동일합니다.변경된 것은 4.2.1v에서 4.2.2v로 업그레이드한 것뿐입니다.
최근 업데이트에 문제가 있거나 press manual update라는 단어 뒤에 더 이상의 절차를 수행해야 합니까?
디버깅 완료...
DB 버전이 업데이트 되었는지 확인했습니다.31535를 나타내고 있습니다.를 사용하여 디버깅하는 경우$wpdb->lastquery그리고.$wpdb->print_error()나는 이해한다
WordPress database error: []
SHOW FULL COLUMNS FROM `wp_tst_tbl_contacts`
?
나는 여기 뭐가 문제인지 이해할 수 없었다.위의 삽입 쿼리뿐만 아니라 동일한 삽입 쿼리를 실행하는 경우show full columns같은 사용자 wp 사용자 credential을 사용하여 명령줄에서 완벽하게 동작합니다.
주의: 더 필요한 정보가 있으면 문의해 주십시오.
문제의 원인을 찾았습니다.열 너비 제한으로 인해 발생합니다.
VARCHAR(9) 컬럼이 있는데 16자 길이의 데이터를 전송하고 있었습니다.4.2.2의 새로운 변경사항은 테이블 메타를 가져오고 DB에 정의된 열 크기에 맞게 데이터를 잘라냅니다.또한 수확 전 데이터와 수확 후 데이터를 비교합니다.일치하지 않으면 실패합니다.
문제는 오류가 발생하지 않고 자동으로 실패한다는 것입니다.wpincludes/wp-db.php 파일을 디버깅하여 발견했습니다.
열 제한과 보내는 열 데이터 길이를 확인하십시오.
열 너비를 늘리면(데이터는 반드시 9글자 이상), 문제가 해결되었습니다.
같은 문제가 발생했는데, CSV Import 함수에서 데이터베이스로 이스케이프되지 않은 값이 푸시된 것이 판명되었습니다.
나는 적절한 것을 적용했다.esc_url()및/또는esc_attr()및/또는esc_html()필요에 따라 값을 미리 삭제한 후 쿼리가 정상적으로 실행됩니다.
언급URL : https://stackoverflow.com/questions/30106744/wordpress-4-2-2-update-failing-wpdb-insert
'programing' 카테고리의 다른 글
| Java의 모델 클래스에서 직접 JSON 개체 만들기 (0) | 2023.04.04 |
|---|---|
| CORS 정책에 의해 액세스가 차단되었습니다.비행 전 요청에 대한 응답이 액세스 제어 검사를 통과하지 못했습니다. (0) | 2023.04.04 |
| Wordpress ACF - 날짜 형식 (0) | 2023.04.04 |
| Jackson과 함께 고유 속성 존재에 따라 다형 유형 직렬화 해제 (0) | 2023.04.04 |
| JSONAray 및 JSONObject를 사용하여 포어치 (0) | 2023.04.04 |