Cómo usar la función mysqli_real_escape_string

Cómo usar la función mysqli_real_escape_string
Un mysqli_real_escape_string es una función incorporada del PHP que se utiliza para controlar los caracteres no deseados y peligrosos. En este artículo, discutiremos con la ayuda de un ejemplo de cuál es la función mysqli_real_escape_string y cómo se puede usar para la protección de la base de datos.

¿Qué es un mysqli_real_escape_string?

Por definición, mysqli_real_escape_string () permite que los caracteres especiales en una cadena escapen a la base de datos por la consulta SQL, teniendo en cuenta el conjunto de caracteres actuales de la conexión establecida. En palabras simples, esta función permite que los caracteres especiales se consideren como parte de la cadena y guardados en la base de datos como una cadena. Los piratas informáticos usan principalmente caracteres especiales como ?,',^,%y !, Para piratear la base de datos o usar mal los datos de una base de datos, por lo que para evitar esta Ley, esta función se utiliza que obliga al PHP a considerarse solo como la cadena. La sintaxis general de esta función es como:

mysqli_real_escape_string (conexión_variable, string_variable)

En la sintaxis general, Connection_Variable es el resultado de la función mysqli_connect () almacenada en cualquier variable y string_variable es la variable que se supone que pasa a través de esta función para escapar de los caracteres. Por ejemplo, creamos un código de PHP en el que primero establecemos la conexión del PHP con la base de datos utilizando la función, MySQLI_Connect () con los parámetros de LocalHost; La base de datos está en la misma máquina, nombre de usuario; Maadi, contraseña; QWER1234 y el nombre de la base de datos; Organización. Luego aplicamos la condición if-else, para verificar si la conexión se establece con éxito o no utilizando una función, mysqli_real_escape_string (conexión_variable, string_variable). Después de garantizar el establecimiento exitoso de la conexión, declararemos la variable, nombrada, primer nombre, y asignaremos una cadena que incluya algún carácter especial y luego lo insertaremos en la base de datos Linuxhint.

// Establecimiento de conexión con datos
$ conexión = mysqli_connect ("localhost", "maadi", "organización");
// Comprobando el estado de la conexión
if (mysqli_connect_errno ())
Echo "no pudo conectarse a MySQL:" .mysqli_connect_error ();
salida();

// declarar variable
$ FirstName2 = "John'o Alexander";
// Insertar en la base de datos
$ sql = "insertar en valores LinuxHint (emp_name) ('$ firstName2')");
// Ejecución de consultas mysql
$ r = mysqli_query ($ conexión, "insertar en valores de LinuxHint ('FirstName2')");
si(!$ r)
imprimir ("Ocurrió el error \ n");

demás
imprimir ("registro insertado correctamente \ n");

//conexión cerrada
mysqli_close ($ conexión);
?>

La salida de este código debe ser un error porque la cadena contiene el carácter especial 'entre él. Para verificar la salida, abra el terminal en Ubuntu y ejecute este archivo PHP utilizando el comando de php con el nombre del archivo en el que se guarda el código.

$ php file1.php

Se ha producido el error, para rectificar este error, usaremos mysqli_real_escape_string () y guardar la cadena en la base de datos.

// Establecimiento de conexión con datos
$ conexión = mysqli_connect ("localhost", "maadi", "organización");
// Comprobando el estado de la conexión
if (mysqli_connect_errno ())
Echo "no pudo conectarse a MySQL:" .mysqli_connect_error ();
salida();

// declarar variable
$ FirstName2 = "John'o Alexander";
// Pase desde el mysqli_real_escape_string ()
$ FirstName = MySQLI_REAL_ESCAPE_STRING ($ Connection, $ FirstName2);
// Insertar en la base de datos
$ sql = "insertar en valores de linuxhint (emp_name) ('$ firstName')");
// Ejecución de consultas mysql
$ r = mysqli_query ($ conexión, "insertar en valores de linuxhint ('firstName')");
si(!$ r)
imprimir ("Ocurrió el error \ n");

demás
imprimir ("registro insertado correctamente \ n");

//conexión cerrada
mysqli_close ($ conexión);
?>

Nuevamente ejecute el archivo en la terminal.

$ php file1.php

La salida es exitosa. Para verificarlo, iremos a MySQL y ejecutaremos el siguiente comando para verificar si la cadena se inserta en la base de datos o no.

Seleccionar * de LinuxHint;

Conclusión

Asegurar los archivos es una preocupación previa de todos, ya que pueden incluir algunos datos confidenciales. Principalmente en piratería, los caracteres especiales se utilizan para conectarse con la base de datos para recuperar sus datos para usos poco éticos. Para evitar esto, podemos poner una variedad de verificaciones de seguridad en los datos antes de insertarlos en la base de datos. En este artículo, hemos discutido una de las funciones incorporadas de PHP que se utiliza para garantizar la seguridad de una manera que no hay caracteres especiales en la base de datos para dañarlo. En lugar de que esta función lo consideró como una cadena normal e insertó la cadena en la base de datos.