Answers:
免责声明:我不是WordPress专家,只有MySQL DBA
如果要使用其他查询,请尝试此操作
SELECT COUNT(1) FROM information_schema.tables WHERE table_schema='dbname' AND table_name='tbname';
它将返回0(如果表不存在)或1(如果表存在)
试试这个:
global $wpdb;
$table_name = $wpdb->base_prefix.'custom_prices';
$query = $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $table_name ) );
if ( ! $wpdb->get_var( $query ) == $table_name ) {
// go go
}
不知道如何或为什么这样,但是我可以:
if (in_array('snippets', $wpdb->tables)) {
// do something if wp_snippets exists
}
使用类中的get_var
函数wpdb
进行异常处理:
try {
$wpdb->hide_errors();
$wpdb->get_var( 'SELECT COUNT(*) FROM ' . $wpdb->prefix . 'translator' );
$wpdb->show_errors();
} catch (Exception $e) {
error_log($e);
} finally {
translator_create_db();
}
参考:选择变量