sql >> Database >  >> RDS >> Mysql

Het effect van `mysqli_real_escape_string` . omkeren

Het antwoord van monkeymatrix is ​​onjuist voor recente versies van PHP (ik heb het getest op 7.3). mysqli_real_escape_string() ontsnapt alleen aan bepaalde tekens. Hier is een functie die het zal omkeren:

function reverse_mysqli_real_escape_string($str) {
    return strtr($str, [
        '\0'   => "\x00",
        '\n'   => "\n",
        '\r'   => "\r",
        '\\\\' => "\\",
        "\'"   => "'",
        '\"'   => '"',
        '\Z' => "\x1a"
    ]);
 }

In een goed geschreven applicatie zou deze functie zelden nodig moeten zijn. U zou PDO met parameterbinding moeten gebruiken om automatisch ontsnappen af ​​te handelen. Ik heb deze functie alleen gemaakt om wat verouderde code te verwerken die aan alles ontsnapte bij invoer en ik had een manier nodig om terug te gaan naar de oorspronkelijke gegevens.




  1. MySQL:verschil van twee resultaatsets

  2. Onderzoek naar de traagheid van PostGIS (editie 2019)

  3. php mysql Group By om het laatste record te krijgen, niet het eerste record

  4. Verbinding maken met een externe database vanaf een localhost-computer met behulp van mysql en PHP