PHP 菜鳥教程

PHP 高級教程

PHP & MySQL

PHP 參考手冊

PHP mysqli_real_escape_string() 函數(shù)用法及示例

PHP MySQLi 參考手冊

mysqli_real_escape_string()函數(shù)根據(jù)當前連接的字符集,對于 SQL 語句中的特殊字符進行轉(zhuǎn)義。

定義和用法

mysqli_real_escape_string()函數(shù)用來對字符串中的特殊字符進行轉(zhuǎn)義, 以使得這個字符串是一個合法的 SQL 語句。 傳入的字符串會根據(jù)當前連接的字符集進行轉(zhuǎn)義,得到一個編碼后的合法的 SQL 語句。

語法

mysqli_real_escape_string($con, $str)

參數(shù)

序號參數(shù)及說明
1

con(必需)

這是一個表示與MySQL Server的連接的對象。

2

str(必需)

這是一個字符串,您需要在其中轉(zhuǎn)義特殊字符。

返回值

mysqli_real_escape_string()返回可與SQL查詢中使用一個合法的字符串,也就是轉(zhuǎn)義后的字符串。

錯誤/異常

 在無效的連接上調(diào)用此函數(shù)會返回 NULL 并發(fā)出一個 E_WARNING 級別的錯誤。

PHP版本

此函數(shù)最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。

在線示例

以下示例演示了mysqli_real_escape_string()函數(shù)的用法(面向過程風格)-

//建立連接
$con = mysqli_connect("localhost", "root", "password", "mydb");
//創(chuàng)建表
mysqli_query($con, "CREATE TABLE my_team(Name VARCHAR(255), Country VARCHAR(255))");

$player = "S'Dhawan";
$country = "India";

//插入記錄
$res = mysqli_query($con, "INSERT into my_team VALUES ('$player', '$country')");
if(!$res){
   print("發(fā)生錯誤");
}else{
   print("插入記錄成功");
}
	
print("\n");
	
$player = mysqli_real_escape_string($con, $player);
$country = mysqli_real_escape_string($con, $country);

//插入記錄
$res = mysqli_query($con, "INSERT into my_team VALUES ('$player', '$country')");
if(!$res){
   print("發(fā)生錯誤");
}else{
   print("插入記錄成功");
}

//關(guān)閉連接
mysqli_close($con);
?>

輸出結(jié)果

發(fā)生錯誤
插入記錄成功

在線示例

在面向?qū)ο箫L格中,此函數(shù)的語法為$con->real_escape_string();。以下是面向?qū)ο箫L格的函數(shù)示例;

<?php
   //連接到數(shù)據(jù)庫
   $con = new mysqli("localhost", "root", "password", "test");

   //創(chuàng)建表
   $con->query("CREATE TABLE my_team(Name VARCHAR(255), Country VARCHAR(255))");

   $player = "S'Dhawan";
   $country = "India";

   //插入記錄
   $res = $con->query("INSERT into my_team VALUES ('$player')");
   if(!$res){
       print("發(fā)生錯誤");
   }else{
       print("插入記錄成功");
   }
	
   print("\n");
	
   $player = $con->real_escape_string($player);

   //插入記錄
   $res = $con->query("INSERT into my_team (Name) VALUES ('$player')");
   if(!$res){
       print("發(fā)生錯誤");
   }else{
       print("插入記錄成功");
   }

   //關(guān)閉連接
   mysqli_close($con);
?>

輸出結(jié)果

發(fā)生錯誤
插入記錄成功

在線示例

轉(zhuǎn)義字符串中的特殊字符單引號:

<?php
   $con = mysqli_connect("localhost","root","password","mydb");
   
   if (mysqli_connect_errno($con)){
      echo "連接MySQL失敗: " . mysqli_connect_error();
   }
   $myName = "Jr's";
   $myName = mysqli_real_escape_string($con,$myName);
   
   mysqli_query($con,"INSERT into emp (name) VALUES ('$myName')");
   mysqli_close($con);

PHP MySQLi 參考手冊

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清