确保字符串是有效的SQL“order by”子句。
sanitize_sql_orderby(
string
$orderby
)
说明(Description)
接受一个或多个列,带或不带排序顺序(ASC/DESC)。e、 g.“列1”、“列1、列2”、“列1 ASC、列2 DESC”等。
参数(Parameters)
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
$orderby | (string) | 必需 | Order by子句将被验证。 |
返回(Return)
(string|false)如果有效,则返回$orderby,否则返回false。
源码(Source)
/**
* Ensures a string is a valid SQL 'order by' clause.
*
* Accepts one or more columns, with or without a sort order (ASC / DESC).
* e.g. 'column_1', 'column_1, column_2', 'column_1 ASC, column_2 DESC' etc.
*
* Also accepts 'RAND()'.
*
* @since 2.5.1
*
* @param string $orderby Order by clause to be validated.
* @return string|false Returns $orderby if valid, false otherwise.
*/
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;
}
更新版本 | 源码位置 | 使用 | 被使用 |
---|---|---|---|
2.5.1 | wp-includes/formatting.php:2311 | 0 | 0 |