Database error – using incorrect table prefix
-
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 );
- The topic ‘Database error – using incorrect table prefix’ is closed to new replies.