当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

クラスリファレンス/wpdb/esc like

提供: WordPress Codex 日本語版
< クラスリファレンス‎ | wpdb
2017年10月15日 (日) 15:58時点におけるGblsm (トーク | 投稿記録)による版 (en:Class_Reference/wpdb/esc_like 00:21, 7 September 2014 Souri 版を流し込み。)

(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

このページ「クラスリファレンス/wpdb/esc like」は未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています

wpdb::esc_like() is a member of The wpdb Class.

Description

Sanitizes $text for use in a LIKE expression of an SQL query.

Note that the string still needs to be SQL escaped with $wpdb->prepare() or esc_sql(). This needs to be done after using $wpdb->esc_like(), to ensure correct and secure slashing of the string.

Usage

<?php $like = $wpdb->esc_like( $text ); ?>

Parameters

$text
string) (必須) The LIKE argument portion of the SQL query.
初期値: なし

Return Value

(string) 
Escaped value appropriate as a LIKE argument in a SQL query.

Example

Try to match a suspicious link to links in comments marked as spam.

// Parse a suspicious URL so we can just get the main parts.
$url = parse_url( $suspicious_link );

// Strip out "http://" and any url parameters.
if ( isset( $url['path'] ) ) {
	$link = $url['host'] . $url['path'];
} else {
	$link = $url['host'];
}

global $wpdb;

// First, escape the link for use in a LIKE statement.
$link = $wpdb->esc_like( $link );

// Add wildcards, since we are searching within comment text.
$link = '%' . $link . '%';

// Create a SQL statement with placeholders for the string input.
$sql = 	"
	SELECT COUNT(*)
	FROM $wpdb->comments 
	WHERE (comment_content LIKE %s OR comment_author_url LIKE %s)
		AND comment_approved = 'spam' 
	";

// Prepare the SQL statement so the string input gets escaped for security.
$sql = $wpdb->prepare( $sql, $link, $link );

// Search local spam for comments or author url containing this link.
$matching_comments = $wpdb->get_var( $sql );

echo $matching_comments . ' spam comments found with this link.';

Notes

Escapes % (percent) and _ (underscore) and \ (backslash) characters, as they have special meaning in LIKE arguments.

Change Log

Source File

wpdb::esc_like() is located in wp-includes/wp-db.php.

Related

入出力値のサニタイズについて詳しくは データ検証ページをご覧ください。



関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Class_Reference/wpdb/esc_like最新版との差分