programing

Wordpress에서의 커스텀쿼리 실행에 문제가 있는 경우

projobs 2023. 1. 24. 08:32
반응형

Wordpress에서의 커스텀쿼리 실행에 문제가 있는 경우

좋아, 몇 시간 동안 이걸 쳐다봤는데 뭐가 잘못됐는지 모르겠어.너희 중 한 명이 내 실수를 봤으면 좋겠어.select 문을 복사하여 PHPMYAdmin에서 실행하였습니다.그곳에서는 정상적으로 실행되지만 Wordpress에서는 결과가 반환되지 않습니다.2개의 변수가 올바르게 입력되어 있는 것도 확인했습니다.

$user = wp_get_current_user();
$terms = wp_get_object_terms($user->ID, 'departments');
$term = $terms[0]->term_id;

$results = $wpdb->get_results(
        $wpdb->prepare(
        "SELECT post_title, post_content
        FROM wp_posts
        INNER JOIN wp_postmeta ON wp_posts.id = wp_postmeta.post_id
        INNER JOIN wp_term_relationships ON wp_posts.id = wp_term_relationships.object_id
        WHERE post_type = 'events'
        AND meta_key = 'event_date'
        AND meta_value = %s
        AND term_taxonomy_id = %s"),array($date,$term));

var_dump를 $results로 하면 NULL이 됩니다.

준비 문장에 오류가 있습니다... array($date,$term)준비 기능 안에 있어야 합니다.

// Bad- args outside of prepare
$results = $wpdb->get_results($wpdb->prepare($sql), $args);

// Good- args inside prepare
$results = $wpdb->get_results($wpdb->prepare($sql, $args));

관련 문서

고객님의 코드에 맞는 솔루션

$user = wp_get_current_user();
$terms = wp_get_object_terms($user->ID, 'departments');
$term = $terms[0]->term_id;
$results = $wpdb->get_results(
  $wpdb->prepare(
    "SELECT post_title, post_content
    FROM wp_posts
    INNER JOIN wp_postmeta ON wp_posts.id = wp_postmeta.post_id
    INNER JOIN wp_term_relationships ON wp_posts.id = wp_term_relationships.object_id
    WHERE post_type = 'events'
    AND meta_key = 'event_date'
    AND meta_value = %s
    AND term_taxonomy_id = %s",
    array($date,$term)
));

언급URL : https://stackoverflow.com/questions/65734254/having-trouble-running-a-custom-query-in-wordpress

반응형