Função PHP mysqli_real_escape_string ()
Definição e Uso
o mysqli_real_escape_string() função é usada para escapar caracteres em uma string, tornando-a legal para uso em uma instrução SQL.
Sintaxe
mysqli_real_escape_string($con, $str)
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 | con(Mandatory) Este é um objeto que representa uma conexão com o servidor MySQL. |
2 | str(Mandatory) Esta é uma string na qual você precisa escapar dos caracteres especiais. |
Valores Retornados
O mysqli_real_escape_string () retorna uma string válida que pode ser usada com consultas SQL.
Versão PHP
Esta função foi introduzida pela primeira vez no PHP Versão 5 e funciona em todas as versões posteriores.
Exemplo
O exemplo a seguir demonstra o uso da função mysqli_real_escape_string () (no estilo procedural) -
//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);
?>
Isso produzirá o seguinte resultado -
Error occurred
Record inserted successfully
Exemplo
No estilo orientado a objetos, a sintaxe desta função é $ con> real_escape_string (); A seguir está o exemplo desta função no estilo orientado a objetos $ 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);
?>
Isso produzirá o seguinte resultado -
Error occurred
Record inserted successfully
Exemplo
<?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);