mysqli_real_escape_string,とは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > mysqli_real_escape_string,の意味・解説 

mysqli_real_escape_string,

(PHP 5)
mysqli_real_escape_string, mysqli->real_escape_string() — 接続の現在の文字セットを考慮して、SQL 文で使用する文字列の 特殊文字をエスケープする

説明

手続き型:
string mysqli_real_escape_string ( mysqli link, string escapestr )
オブジェクト指向型(どちらのメソッドも等価です):
class mysqli {
string escape_string ( string escapestr )
string real_escape_string ( string escapestr )
} この関数を使用して、SQL 文中で使用できる正当な形式の SQL 文字列を作成します。 文字列 escapestr が、エスケープされた SQL に変換されます。その際、接続で使用している現在の文字セットが考慮されます。

パラメータ

link
手続き型のみ: mysqli_connect() あるいは mysqli_init() が返すリンク ID。
escapestr
エスケープする文字列。
エンコードされる文字は NUL (ASCII 0), \n, \r, \, ', ", および Control-Z です。

返り値

エスケープ済みの文字列を返します。

例 1438. オブジェクト指向型
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* 接続状況をチェックします */
if (mysqli_connect_errno()) {
   printf("Connect failed: %s\n", mysqli_connect_error());
   exit();
}

$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* このクエリは失敗します。なぜなら $city をエスケープしていないからです */
if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
   printf("Error: %s\n", $mysqli->sqlstate);
}

$city = $mysqli->real_escape_string($city);

/* $city をエスケープしたので、このクエリは正しく動作します */
if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
   printf("%d Row inserted.\n", $mysqli->affected_rows);
}

$mysqli->close();
?>

例 1439. 手続き型
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* 接続状況をチェックします */
if (mysqli_connect_errno()) {
   printf("Connect failed: %s\n", mysqli_connect_error());
   exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* このクエリは失敗します。なぜなら $city をエスケープしていないからです */
if (!mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
   printf("Error: %s\n", mysqli_sqlstate($link));
}

$city = mysqli_real_escape_string($link, $city);

/* $city をエスケープしたので、このクエリは正しく動作します */
if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
   printf("%d Row inserted.\n", mysqli_affected_rows($link));
}

mysqli_close($link);
?>

上の例の出力は以下となります。

Error: 42000
1 Row inserted.

  

参考

mysqli_character_set_name()



このページでは「PHP関数リファレンス」からmysqli_real_escape_string,を検索した結果を表示しています。
Weblioに収録されているすべての辞書からmysqli_real_escape_string,を検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からmysqli_real_escape_string,を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「mysqli_real_escape_string,」の関連用語

mysqli_real_escape_string,のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



mysqli_real_escape_string,のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.

©2024 GRAS Group, Inc.RSS