PHP mysqli_real_escape_string()関数
文字列内の特殊文字をエスケープする:
<?php
// 假定数据库用户名:root,密码:123456,数据库:サンプル
$con=mysqli_connect("localhost","root","123456","サンプル");
if (mysqli_connect_errno($con))
{
echo "连接 MySQL 失败: " . mysqli_connect_error();
}
mysqli_query($con,"CREATE TABLE websites2 LIKE websites");
$newname="サンプル'教程";
// 没有转义 $newname 中特殊字符,执行失败
mysqli_query($con,"INSERT into websites2 (name) VALUES ('$newname')");
// 转义特殊字符
$newpers=mysqli_real_escape_string($con,$newname);
// 转义后插入,执行成功
mysqli_query($con,"INSERT into websites2 (name) VALUES ('$newpers')");
mysqli_close($con);
?>
定義と使い方
mysqli_real_escape_string() 関数は、SQL ステートメントで使用される文字列内の特殊文字をエスケープします。
構文
mysqli_real_escape_string(connection,escapestring);
| パラメータ | 説明 |
|---|---|
| connection | 必須。使用する MySQL 接続を指定します。 |
| escapestring | 必須。エスケープする文字列。エンコードされる文字は NUL(ASCII 0)、\n、\r、\、'、"、および Control-Z です。 |
技術詳細
| 戻り値: | エスケープされた文字列を返します。 |
|---|---|
| PHP バージョン: | 5+ |
PHP MySQLi リファレンスマニュアル その他の拡張機能