{{set:override,subtitle,PHP : Escapes special characters in a string for use in an SQL statement,
taking into account the current charset of the connection}}
MysqlndUhConnection::escapeString
(PECL mysqlnd-uh >= 1.0.0-alpha)
MysqlndUhConnection::escapeString — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
説明
public string MysqlndUhConnection::escapeString
( mysqlnd_connection
$connection
, string $escape_string
)Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection.
パラメータ
-
MYSQLND_UH_RES_MYSQLND_NAME -
Mysqlnd connection handle. Do not modify!
-
escape_string -
The string to be escaped.
返り値
The escaped string.
例
例1 MysqlndUhConnection::escapeString() example
<?php
class proxy extends MysqlndUhConnection {
public function escapeString($res, $string) {
printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
$ret = parent::escapeString($res, $string);
printf("%s returns %s\n", __METHOD__, var_export($ret, true));
return $ret;
}
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->set_charset("latin1");
$mysqli->real_escape_string("test0'test");
?>
上の例の出力は以下となります。
proxy::escapeString(array ( 0 => NULL, 1 => 'test0\'test', )) proxy::escapeString returns 'test0\\\'test'
参考
- mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
- mysqli_real_escape_string() - 接続の現在の文字セットを考慮して、SQL 文で使用する文字列の特殊文字をエスケープする
- mysql_real_escape_string() - SQL 文中で用いる文字列の特殊文字をエスケープする