男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

mysqli::real_escape_string

mysqli::escape_string

mysqli_real_escape_string

(PHP 5, PHP 7, PHP 8)

mysqli::real_escape_string -- mysqli::escape_string -- mysqli_real_escape_string根據當前連接的字符集,對于 SQL 語(yǔ)句中的特殊字符進(jìn)行轉義

說(shuō)明

面向對象風(fēng)格

mysqli::escape_string(string $escapestr): string
mysqli::real_escape_string(string $escapestr): string

過(guò)程化風(fēng)格

mysqli_real_escape_string(mysqli $link, string $escapestr): string

此函數用來(lái)對字符串中的特殊字符進(jìn)行轉義, 以使得這個(gè)字符串是一個(gè)合法的 SQL 語(yǔ)句。 傳入的字符串會(huì )根據當前連接的字符集進(jìn)行轉義,得到一個(gè)編碼后的合法的 SQL 語(yǔ)句。

警告

安全:默認字符集

在調用 mysqli_real_escape_string() 函數之前, 必須先通過(guò)調用 mysqli_set_charset() 函數或者在 MySQL 服務(wù)器端設置字符集。 更多信息請參考 字符集。

參數

mysql

僅以過(guò)程化樣式:由mysqli_connect()mysqli_init() 返回的 mysqli 對象。

escapestr

需要進(jìn)行轉義的字符串。

會(huì )被進(jìn)行轉義的字符包括: NUL (ASCII 0),\n,\r,\,'," 和 Control-Z.

返回值

轉義后的字符串。

錯誤/異常

在無(wú)效的連接上調用此函數會(huì )返回 null 并發(fā)出一個(gè) E_WARNING 級別的錯誤。

范例

示例 #1 mysqli::real_escape_string() 例程

面向對象風(fēng)格

<?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 進(jìn)行轉義,此次查詢(xún)會(huì )失敗 */
if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    
printf("Error: %s\n"$mysqli->sqlstate);
}

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

/* 對 $city 進(jìn)行轉義之后,查詢(xún)可以正常執行 */
if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    
printf("%d Row inserted.\n"$mysqli->affected_rows);
}

$mysqli->close();
?>

過(guò)程化風(fēng)格

<?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 進(jìn)行轉義,此次查詢(xún)會(huì )失敗 */
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 進(jìn)行轉義之后,查詢(xún)可以正常執行 */
if (mysqli_query($link"INSERT into myCity (Name) VALUES ('$city')")) {
    
printf("%d Row inserted.\n"mysqli_affected_rows($link));
}

mysqli_close($link);
?>

以上例程會(huì )輸出:

Error: 42000
1 Row inserted.

注釋

注意:

如果你之前都是使用 mysql_real_escape_string() 函數來(lái)轉義 SQL 語(yǔ)句的, 那么需要注意的是 mysqli_real_escape_string()mysql_real_escape_string() 兩個(gè)函數的參數順序不同。 mysqli_real_escape_string() 中, link 是第一個(gè)參數, 而在 mysql_real_escape_string() 函數中,要轉義的字符串是第一個(gè)參數。

參見(jiàn)

男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站