Automattic\WooCommerce\Database\Migrations\CustomOrderTable
PostsToOrdersMigrationController::db_query
Execute a database query and log any errors.
Метод класса: PostsToOrdersMigrationController{}
Хуков нет.
Возвращает
true|false. True if the query succeeded, false if there were errors.
Использование
// private - только в коде основоного (родительского) класса $result = $this->db_query( $query, $supress_errors ): bool;
- $query(строка) (обязательный)
- The SQL query to execute.
- $supress_errors(true|false)
- Whether to suppress errors.
По умолчанию:false
Код PostsToOrdersMigrationController::db_query() PostsToOrdersMigrationController::db query WC 10.5.0
private function db_query( string $query, bool $supress_errors = false ): bool {
$wpdb = WC()->get_global( 'wpdb' );
try {
if ( $supress_errors ) {
$suppress = $wpdb->suppress_errors( true );
}
// phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
$wpdb->query( $query );
if ( $supress_errors ) {
$wpdb->suppress_errors( $suppress );
}
} catch ( \Exception $exception ) {
$exception_class = get_class( $exception );
$this->error_logger->error(
"PostsToOrdersMigrationController: when executing $query: ($exception_class) {$exception->getMessage()}, {$exception->getTraceAsString()}",
array(
'source' => self::LOGS_SOURCE_NAME,
'exception' => $exception,
)
);
return false;
}
$error = $wpdb->last_error;
if ( '' !== $error ) {
$this->error_logger->error(
"PostsToOrdersMigrationController: when executing $query: $error",
array(
'source' => self::LOGS_SOURCE_NAME,
'error' => $error,
)
);
return false;
}
return true;
}