• Resolved Gal Baras

    (@galbaras)


    I’m getting the following error on multiple sites:

    [22-Oct-2019 23:22:20 UTC] WordPress database error Table 'DBNAME.wp_postmeta' doesn't exist for query SELECT * FROM wp_postmeta WHERE meta_key LIKE '%classroom-375%' OR meta_value LIKE '%classroom-375%' made by do_action('wp_ajax_search_result'), WP_Hook->do_action, WP_Hook->apply_filters, Kuroit\AdvancedAdminSearch\AASKP_advancedAdminSearch->AASKP_searchAction, Kuroit\AdvancedAdminSearch\AASKP_advancedAdminSearch->AASKP_getPostMeta

    DBNAME is correct on each site, but the table prefix is not “wp_”.

    Line 268 of advanced-admin-search.php should change from:

    $postMeta = $wpdb->get_results("SELECT * FROM wp_postmeta WHERE meta_key LIKE '%".$post_search."%' OR meta_value LIKE '%".$post_search."%'");

    to

    $postMeta = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."postmeta WHERE meta_key LIKE '%".$post_search."%' OR meta_value LIKE '%".$post_search."%'");

    For security reasons, this statement should also be changed to using prepare:

    
    $search_term = '%' . $post_search . '%';
    $postMeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}postmeta WHERE meta_key LIKE '%s' OR meta_value LIKE '%s'", $search_term, $search_term );
    
Viewing 1 replies (of 1 total)
  • Plugin Author Kuroit

    (@kuroit)

    Hi Gal Baras,

    Thanks for pointing out the issue.
    We have just released an update for the plugin which should fix this problem.

    Regards

Viewing 1 replies (of 1 total)
  • The topic ‘Database error – using incorrect table prefix’ is closed to new replies.