PHP mysqli_real_escape_string() 函式



定義和用法

mysqli_real_escape_string() 函式用於跳脫字元串中的字元,使其在 SQL 語句中合法使用。

語法

mysqli_real_escape_string($con, $str)

引數

序號 引數和描述
1

con(必填)

這是一個表示與 MySQL 伺服器連線的物件。

2

str(必填)

這是您需要轉義特殊字元的字串。

返回值

mysqli_real_escape_string() 返回一個合法的字串,可用於 SQL 查詢。

PHP 版本

此函式首次在 PHP 5 版本中引入,並在所有後續版本中有效。

示例

以下示例演示了 mysqli_real_escape_string() 函式的使用(以過程式風格)−

//Creating a connection
$con = mysqli_connect("localhost", "root", "password", "mydb");
//Creating a table
mysqli_query($con, "CREATE TABLE my_team(Name VARCHAR(255), Country VARCHAR(255))");

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

//Inserting a record
$res = mysqli_query($con, "INSERT into my_team VALUES ('$player', '$country')");
if(!$res){
   print("Error occurred");
}else{
   print("Record inserted successfully");
}
	
print("\n");
	
$player = mysqli_real_escape_string($con, $player);
$country = mysqli_real_escape_string($con, $country);

//Inserting a record
$res = mysqli_query($con, "INSERT into my_team VALUES ('$player', '$country')");
if(!$res){
   print("Error occurred");
}else{
   print("Record inserted successfully");
}


//Closing the connection
mysqli_close($con);
?>

這將產生以下結果−

Error occurred
Record inserted successfully

示例

在面向物件風格中,此函式的語法為 $con->real_escape_string(); 以下是此函式在面向物件風格中的示例 $minus;

<?php
   //Connecting to the database
   $con = new mysqli("localhost", "root", "password", "test");

   //Creating a table
   $con->query("CREATE TABLE my_team(Name VARCHAR(255), Country VARCHAR(255))");

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

   //Inserting a record
   $res = $con->query("INSERT into my_team VALUES ('$player')");
   if(!$res){
      print("Error occurred");
   }else{
      print("Record inserted successfully");
   }
	
   print("\n");
	
   $player = $con->real_escape_string($player);

   //Inserting a record
   $res = $con->query("INSERT into my_team (Name) VALUES ('$player')");
   if(!$res){
      print("Error occurred");
   }else{
      print("Record inserted successfully");
   }

   //Closing the connection
   mysqli_close($con);
?>

這將產生以下結果−

Error occurred
Record inserted successfully

示例

<?php
   $con = mysqli_connect("localhost","root","password","mydb");
   
   if (mysqli_connect_errno($con)){
      echo "Failed to connect to 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_function_reference.htm
廣告