programing

Wordpress 4.2.2 업데이트 실패 wpdb-> 삽입

golfzon 2023. 4. 4. 22:38
반응형

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

반응형