sql >> Base de Datos >  >> RDS >> Mysql

Escapar de comillas simples en la inserción de PHP/MySQL no funciona

Insertar cadena con comillas simples (' ) o comillas dobles (" ) en mysql

Solo usa addslashes(); en Inserción y stripslashes(); para obtener datos.

$str = "Hello Friend's.. Hows you all"s.";
// Outputs: Hello Friend\'s..Hows you all\"s.
echo addslashes($str);

stripslashes — Cadena sin comillas citada con addslashes() . Devuelve una cadena con las barras invertidas eliminadas. (\' se convierte en ' y así sucesivamente.) Barras invertidas dobles (\\ ) se convierten en una sola barra invertida (\ ).

$str = "Hello Friend\'s.. Hows you all"s."; // Outputs: Hello Friend's.. Hows you all"s.
echo stripslashes($str);

Ahora llegamos al punto. Si insertamos una cadena en la base de datos con comillas simples o dobles como esta:

$str = “Hello Friend's.. Hows you all"s.”;
$query = “INSERT INTO tbl (description) VALUES (‘$str’)”;

Esto ocurrirá un error, pero si usamos addslashes($str) funcione como a continuación y luego inserte en la base de datos, luego no se producirá ningún error.

$str = “Hello Friend's.. Hows you all"s.”;
$desc_str = addslashes($str);
$query = “INSERT INTO tbl (description) VALUES (‘$desc_str’)”;

de manera similar podemos usar stripslashes($str) para imprimir ese valor de campo de tabla como este:

echo stripslashes($str);