sanitize_sql_orderby()

确保字符串是有效的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.1wp-includes/formatting.php:231100
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索