Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Membalikkan efek `mysqli_real_escape_string`

Jawaban monkeymatrix salah untuk versi PHP terbaru (saya mengujinya pada 7.3). mysqli_real_escape_string() hanya lolos karakter tertentu. Berikut adalah fungsi yang akan membalikkannya:

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

Dalam aplikasi yang ditulis dengan benar, seharusnya jarang ada kebutuhan untuk fungsi ini. Anda harus menggunakan PDO dengan pengikatan parameter untuk menangani pelolosan apa pun secara otomatis. Saya hanya membuat fungsi ini untuk menangani beberapa kode lama yang lolos dari semua input dan saya membutuhkan cara untuk kembali ke data asli.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Transaksi MySQL dalam transaksi

  2. Impor Beberapa file dump .sql ke database mysql dari shell

  3. Implikasi kinerja mengizinkan alias untuk digunakan dalam klausa HAVING

  4. Bagaimana saya menyimpan dan mengambil gambar di server saya di aplikasi web java

  5. Menggunakan Peran Baru di MySQL 8