1. 首页
  2. WordPress 函数手册

esc_sql()

esc_sql( string|array $data )

转义MySQL查询中使用的数据。
Escapes data for use in a MySQL query.

目录锚点:#说明#参数#返回#源码#笔记


说明(Description)

通常应该使用wpdb::prepare()准备查询。有时,点逸出是必需的或有用的。一个例子是为in子句准备数组。

注意:由于4.8.3,“%”字符将替换为占位符字符串,这将防止发生某些SQLi攻击。行为的这种更改可能会导致代码出现问题,这些代码希望esc_sql()的返回值可用于其他目的。


参数(Parameters)

参数 类型 必填 说明
$data (string | array) 必需 未转换的数据

返回(Return)

(string|数组)转义数据


源码(Source)

/**
 * Escapes data for use in a MySQL query.
 *
 * Usually you should prepare queries using wpdb::prepare().
 * Sometimes, spot-escaping is required or useful. One example
 * is preparing an array for use in an IN clause.
 *
 * @since 2.8.0
 *
 * @global wpdb $wpdb
 *
 * @param string|array $data Unescaped data
 * @return string|array Escaped data
 */
function esc_sql( $data ) {
	global $wpdb;
	return $wpdb->_escape( $data );
}
更新版本 源码位置 使用 被使用
2.8.0 wp-includes/formatting.php:4269 9 1 function

笔记(Notes)

需要注意的是,此函数将只转义要在查询中的字符串中使用的值。也就是说,它只为SQL中引号内的值提供转义(如字段‘{$escaped_value}’)。如果您的值不在引号内,那么您的代码仍然容易受到SQL注入的攻击。例如,这是易受攻击的,因为转义值在SQL查询:ORDER by{$escritedu value}中没有被引号包围。因此,此函数不转义未引用的数值、字段名或SQL关键字。。
基本示例

esc_sql() 为WP2原创文章,链接:https://www.wp2.cn/functions/esc_sql/

发表评论

您的电子邮箱地址不会被公开。