bestsource

$wpdb-> 삽입이 작동하지 않습니다.오류 메시지 없음

bestsource 2023. 4. 4. 21:51
반응형

$wpdb-> 삽입이 작동하지 않습니다.오류 메시지 없음

아랫부분을 정리했는데, 이제 기록을 삽입할 때 문제가 생겼어요.제가 가지고 있는 것은NULL의 가치를 인정하다.file로 포맷되었다.%s스트링의 경우입니다만, 삽입되지 않습니다.NULL삽입하고 있다[BLOB - 0B]mySQL 테이블의 열 형식은 다음과 같습니다.longblob뭐 생각나는 거라도?


처음 써보는 건데$wpdb->insert뭔가 놓친 것 같아요

여기 제가 사용하려는 루프가 있습니다.현재 어레이에는 2개의 타임스탬프가 있습니다.

for ( $i = 0; $i < count($timestamps); $i++ ) {
$working_time = $timestamps[$i];
$working_form = $formnames[$i];

$status_data = array(
    'submit_time' => $working_time,
    'form_name' => $working_form,
    'field_name' => 'lead_status',
    'field_value' => 'new',
    'field_order' => 10001,
    'file' => NULL
);
$status_data_types = array(
    '%f',
    '%s',
    '%s',
    '%s',
    '%d',
    '%s'
);

$result = $wpdb->get_results("SELECT field_value FROM ".$leadtable." WHERE submit_time = ".$working_time);

if(!$result) {              
    $insert = $wpdb->insert($leadtable, $status_data, $status_data_types);
    if( !$insert ) {
            echo 'didn\'t work';
        }
}
}

나는 그것을 알고 있습니다.$working_time그리고.$working_form둘 다 올바르게 설정되어 있습니다. $working_time긴 뜨개질 같은1387175380.9600그리고.$working_form는 문자열입니다.

아무것도 반환되지 않습니다.if( !$insert )확인해보니 그 이전 어딘가에서 오류가 난 것 같아요나는 그것을 알고 있습니다.if( !$result )해당 데이터가 아직 존재하지 않기 때문에 true가 반환됩니다.

문제를 발견했다.기간 부족으로 get_results 쿼리가 실패했습니다.HS 영어 선생님이 옳았어요...시기를 놓치면 큰 문제가 될 수 있습니다!

마지막 오류와 마지막 쿼리를 가져오려면 $wpdb 개체의 다음 속성을 사용할 수 있습니다.

$wpdb->last_error 

에러가 발생했을 경우는, 마지막 에러가 표시됩니다.

$wpdb->last_query 

에러가 발생한 마지막 쿼리 표시에 도움이 됩니다.

이것이 당신에게 도움이 되기를 바랍니다.

설정에서는 에러가 표시되지 않는 경우가 있습니다.해보셨어요?$wpdb->print_error();?

https://core.trac.wordpress.org/ticket/32315

열 입력 중 하나가 열 입력 값보다 클 수 있습니다.Wordpress는 이를 감지하여 DB로 쿼리를 전송하지 않습니다.

[ Diff ]에는 last_error 메시지에 추가 정보를 얻기 위해 입력할 수 있는wp-db용 패치가 표시되어 있기 때문에 이 패치는 비어 있지 않습니다.

여기에 이미지 설명 입력

글로벌 변수를 정의했으면 합니다.$wpdb.

만약 당신이$wpdb이 동작하지 않고, 에러가 표시되지 않는 경우는, 다음의 3개의 순서를 실행할 필요가 있습니다.

  1. 에러 기능과 함께 에러를 인쇄합니다.

    echo $wpdb->last_error;

    또는

    echo $wpdb->show_errors;

  2. 오류가 표시되지 않으면 마지막 쿼리 기능과 함께 사용하여 마지막 쿼리를 인쇄해야 합니다.

    echo $wpdb->last_query;

  3. 마지막 쿼리를 복사하여 [Phpmyadmin]> [ Your Database ]-> [ Table ]-> [ SQL ]탭에 붙여넣고 [Go]버튼을 클릭하면 확실히 적절한 솔루션(오류)이 표시됩니다.

언급URL : https://stackoverflow.com/questions/20605937/wpdb-insert-not-working-no-error-msg

반응형