WordPress как на ладони
wordpress jino

sanitize_sql_orderby() WP 2.5.1

Проверяет можно ли использовать переданную строку в ORDER BY части SQL запроса.

Принимает одну или более колонок, с или без порядка сортировки (ASC/DESC). Например: column_1, column_1, column_2, column_1 ASC, column_2 DESC. Также понимает RAND().

Хуков нет.

Возвращает

Строку/false. Вернет переданную строку или false если она не подходит.

Использование

sanitize_sql_orderby( $orderby );
$orderby(строка) (обязательный)
Строка которую нужно проверить и вернуть, если она подходит.

Примеры

#1 Проверка ORDER BY части SQL запроса

// пример прохождения проверки
$orderby = ' col1 ASC ';
$orderby = sanitize_sql_orderby( $orderby );
var_dump( $orderby ); // string(10) " col1 ASC "

// пример ошибки
$orderby = sanitize_sql_orderby( ' col-1 ASC ' ); // bool(false)

Код sanitize sql orderby: wp-includes/formatting.php VER 4.9.1

<?php
function sanitize_sql_orderby( $orderby ) {
	if ( preg_match( '/^\s*(([a-z0-9_]+|`[a-z0-9_]+`)(\s+(ASC|DESC))?\s*(,\s*(?=[a-z0-9_`])|$))+$/i', $orderby ) || preg_match( '/^\s*RAND\(\s*\)\s*$/i', $orderby ) ) {
		return $orderby;
	}
	return false;
}

Cвязанные функции

Из метки: sanitize_ (очистка)

Еще из раздела: SQL

sanitize_sql_orderby Комментариев нет

    Здравствуйте, !

    Ваш комментарий
    Предпросмотр