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

「クラスリファレンス/wpdb/esc like」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(en:Class_Reference/wpdb/esc_like 00:21, 7 September 2014 Souri 版を流し込み。)
 
(和訳しました。)
 
1行目: 1行目:
{{NeedTrans}}
+
{{CheckTrans}}
  
wpdb::esc_like() is a member of [[Class_Reference/wpdb | The wpdb Class]].
+
wpdb::esc_like() [[Class_Reference/wpdb | wpdb クラス]] のメンバーです。
  
== Description ==
+
== 説明<span id="Description"></span> ==
  
Sanitizes <tt>'''$text'''</tt> for use in a LIKE expression of an SQL query.
+
渡された文字列 <tt>'''$text'''</tt> を、SQL クエリの LIKE 式で使えるように無害化します。
  
Note that the string still needs to be SQL escaped with <tt>$wpdb->prepare()</tt> or <tt>esc_sql()</tt>. This needs to be done after using <tt>$wpdb->esc_like()</tt>, to ensure correct and secure slashing of the string.
+
'''注意:''' 結果の文字列は続けて <tt>$wpdb->prepare()</tt> または <tt>esc_sql()</tt> で SQL エスケープしなければなりません。文字列を正しく、かつ安全に slashing するために、これは <tt>$wpdb->esc_like()</tt> の使用後に行う必要があります。
  
== Usage ==
+
== 使い方<span id="Usage"></span> ==
  
 
  <?php $like = $wpdb->esc_like( $text ); ?>
 
  <?php $like = $wpdb->esc_like( $text ); ?>
  
== Parameters ==
+
== パラメーター<span id="Parameters"></span> ==
  
{{Parameter|$text|string|The LIKE argument portion of the SQL query.}}
+
{{Parameter|$text|文字列|SQL クエリの LIKE 引数の部分。}}
  
== Return Value ==
+
== 戻り値<span id="Return_Value"></span> ==
  
{{Return||string|Escaped value appropriate as a LIKE argument in a SQL query.}}
+
{{Return||文字列|SQL クエリの LIKE 引数として適切なエスケープされた値。}}
  
== Example ==
+
== 用例<span id="Example"></span> ==
Try to match a suspicious link to links in comments marked as spam.
+
 
 +
スパム判定されたコメントの中に疑わしいリンクがあるか調べます。
 
<pre>
 
<pre>
// Parse a suspicious URL so we can just get the main parts.
+
// 疑わしいリンクを解析してパーツに分解。
 
$url = parse_url( $suspicious_link );
 
$url = parse_url( $suspicious_link );
  
// Strip out "http://" and any url parameters.
+
// "http://" と URL パラメータを削除。
 
if ( isset( $url['path'] ) ) {
 
if ( isset( $url['path'] ) ) {
 
$link = $url['host'] . $url['path'];
 
$link = $url['host'] . $url['path'];
36行目: 37行目:
 
global $wpdb;
 
global $wpdb;
  
// First, escape the link for use in a LIKE statement.
+
// まず、LIKE 文で使えるようにリンクをエスケープ。
 
$link = $wpdb->esc_like( $link );
 
$link = $wpdb->esc_like( $link );
  
// Add wildcards, since we are searching within comment text.
+
// コメントテキスト内を検索するのでワイルドカードを付加。
 
$link = '%' . $link . '%';
 
$link = '%' . $link . '%';
  
// Create a SQL statement with placeholders for the string input.
+
// 文字列入力のプレースホルダーを含む SQL 文を作る。
 
$sql = "
 
$sql = "
 
SELECT COUNT(*)
 
SELECT COUNT(*)
50行目: 51行目:
 
";
 
";
  
// Prepare the SQL statement so the string input gets escaped for security.
+
// SQL 文を prepare に通し、安全のために文字列入力をエスケープする。
 
$sql = $wpdb->prepare( $sql, $link, $link );
 
$sql = $wpdb->prepare( $sql, $link, $link );
  
// Search local spam for comments or author url containing this link.
+
// コメントテキストまたはコメント作成者の URL がこのリンクを含む場合、そのコメントをスパムと見なす。
 
$matching_comments = $wpdb->get_var( $sql );
 
$matching_comments = $wpdb->get_var( $sql );
  
echo $matching_comments . ' spam comments found with this link.';
+
echo $matching_comments . ' 個のスパムコメントがこのリンクを含んでいます。';
 
</pre>
 
</pre>
  
== Notes ==
+
== 参考<span id="Notes"></span> ==
Escapes % (percent) and _ (underscore) and \ (backslash) characters, as they have special meaning in LIKE arguments.
+
 
== Change Log ==
+
<code>%</code> (パーセント) と <code>_</code> (下線) と <code>\</code> (バックスラッシュ) の3種類をエスケープします。これらは LIKE 引数において特別な意味を持つからです。
 +
 
 +
== 変更履歴<span id="Change_Log"></span> ==
  
* Since: [[Version_4.0|4.0.0]]
+
* 新規導入: [[Version_4.0|4.0.0]]
  
== Source File ==
+
== ソースファイル<span id="Source_File"></span> ==
  
<tt>wpdb::esc_like()</tt> is located in {{Trac|wp-includes/wp-db.php}}.
+
<tt>wpdb::esc_like()</tt> {{Trac|wp-includes/wp-db.php}} にあります。
  
== Related ==
+
== 関連項目<span id="Related"></span> ==
  
 
{{Esc Tags}}
 
{{Esc Tags}}
  
  
* Article: [http://make.wordpress.org/core/2014/06/20/like_escape-is-deprecated-in-wordpress-4-0/ | like_escape() is Deprecated in WordPress 4.0 ]
+
* 記事: [http://make.wordpress.org/core/2014/06/20/like_escape-is-deprecated-in-wordpress-4-0/ like_escape() WordPress 4.0 で廃止された。]
  
 
{{Tag Footer}}
 
{{Tag Footer}}

2017年10月15日 (日) 21:14時点における最新版

この項目「クラスリファレンス/wpdb/esc like」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

wpdb::esc_like() は wpdb クラス のメンバーです。

説明

渡された文字列 $text を、SQL クエリの LIKE 式で使えるように無害化します。

注意: 結果の文字列は続けて $wpdb->prepare() または esc_sql() で SQL エスケープしなければなりません。文字列を正しく、かつ安全に slashing するために、これは $wpdb->esc_like() の使用後に行う必要があります。

使い方

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

パラメーター

$text
文字列) (必須) SQL クエリの LIKE 引数の部分。
初期値: なし

戻り値

(文字列) 
SQL クエリの LIKE 引数として適切なエスケープされた値。

用例

スパム判定されたコメントの中に疑わしいリンクがあるか調べます。

// 疑わしいリンクを解析してパーツに分解。
$url = parse_url( $suspicious_link );

// "http://" と URL パラメータを削除。
if ( isset( $url['path'] ) ) {
	$link = $url['host'] . $url['path'];
} else {
	$link = $url['host'];
}

global $wpdb;

// まず、LIKE 文で使えるようにリンクをエスケープ。
$link = $wpdb->esc_like( $link );

// コメントテキスト内を検索するのでワイルドカードを付加。
$link = '%' . $link . '%';

// 文字列入力のプレースホルダーを含む SQL 文を作る。
$sql = 	"
	SELECT COUNT(*)
	FROM $wpdb->comments 
	WHERE (comment_content LIKE %s OR comment_author_url LIKE %s)
		AND comment_approved = 'spam' 
	";

// SQL 文を prepare に通し、安全のために文字列入力をエスケープする。
$sql = $wpdb->prepare( $sql, $link, $link );

// コメントテキストまたはコメント作成者の URL がこのリンクを含む場合、そのコメントをスパムと見なす。
$matching_comments = $wpdb->get_var( $sql );

echo $matching_comments . ' 個のスパムコメントがこのリンクを含んでいます。';

参考

% (パーセント) と _ (下線) と \ (バックスラッシュ) の3種類をエスケープします。これらは LIKE 引数において特別な意味を持つからです。

変更履歴

ソースファイル

wpdb::esc_like()wp-includes/wp-db.php にあります。

関連項目

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



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


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