Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk memasukkan ke dalam pangkalan data dan melaksanakan operasi melarikan diri dalam php
Cara untuk memasukkan pangkalan data dan melaksanakan operasi melarikan diri dalam PHP: 1. Tetapkan item magic_quotes_gpc 2. Hidupkan item magic_quotes_runtime 3. Hidupkan item magic_quotes_sybase secara automatik.
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Bagaimanakah php dimasukkan ke dalam pangkalan data dan melakukan operasi melarikan diri?
Pemprosesan rentetan khas PHP apabila menulis ke pangkalan data (bila hendak melepaskan aksara khas)
Apabila memproses data MySQL dan GET dan POST, selalunya perlu untuk Petikan telah melarikan diri.
Terdapat tiga tetapan dalam PHP yang boleh menukar secara automatik ' (petikan tunggal), " (petikan berganda), (sentak belakang) dan aksara NULL.
PHP memanggilnya petikan ajaib , tiga tetapan ini ialah
magic_quotes_gpc
yang mempengaruhi data permintaan HTTP (GET, POST dan COOKIE) dan tidak boleh ditukar pada masa jalankan
Apabila ini didayakan, data yang dihantar melalui GET, POST dan COOKIE akan dikeluarkan secara automatik
Contohnya, test.php?id=abc'de"f
<.>echo $_GET['id. ']; # Anda akan mendapat abc'de"fmagic_quotes_gpc=On; Ini dihidupkan dan tidak mempunyai kesan pada penulisan ke pangkalan data, seperti $_GET['id '] di atas apabila ditulis kepada pangkalan data, ia masih abc'de"f,Sebaliknya, jika magic_quotes_gpc=Off; maka aksara mesti mempunyai tanda petikan (tidak kira tanda petikan tunggal atau tanda petikan berganda), dan menulis terus ke mysql secara langsung akan menjadi kosong tetapi jika anda menulisnya ke dokumen dan bukannya mysql. Kemudian ia akan menjadi abc'de"fmagic_quotes_runtime
Jika dihidupkan, kebanyakan fungsi yang mendapatkan data daripada sumber luaran dan mengembalikannya, termasuk daripada pangkalan data dan fail teks , data yang dikembalikan akan dilepaskan dengan garis miring ke belakang . Jika kedua-dua pilihan dihidupkan, petikan tunggal akan terlepas. Petikan berganda, garis miring ke belakang dan aksara NULL tidak akan terlepas.Langkah Balas 1: Ubah suai fail php.ini (Saya tidak akan pergi ke kaedah mengubah suai php.ini, anda boleh google)Langkah Balas 2: Batalkan pelarian
Langkah 1: Cari data yang anda serahkan seperti $_POST['content'] dan tukarkannya kepada $content=stripslashes($_POST['content']);
我表单内容本来是:<img alt=”" width=”400″ height=”300″ src=”/Upfiles/201105/images/1306657040.jpg” /> <img alt=\”\” width=\”400\” height=\”300\” src=\”/Upfiles/201105/images/1306657040.jpg\” />Langkah Kedua : Pada masa hadapan, gantikan $POST['content'] dengan $content Langkah 3: Serahkan kepada pangkalan data, storan pangkalan data masih normal: 3d157376a84bd0222719055cdc5a7d7bIa berbunyi seperti 935bdfe23803f681c9ca43c7637ec85a (Anda sepatutnya tahu cara menyelesaikannya, kan? Mengapa saya tidak menghuraikan lebih lanjut) Langkah 4: Baca pangkalan data Kemudian gunakan stripslashes() untuk menapis kandungan. stripslashes() Fungsi ini mengalih keluar sengkang ke belakang yang ditambahkan oleh fungsi addslashes(). Digunakan untuk membersihkan data yang diambil daripada pangkalan data atau borang HTML (Jika anda tidak mahu situasi berikut berlaku dalam halaman PHP: Petikan tunggal terlepas sebagai ' petikan berganda dilarikan sebagai "Kemudian anda boleh membuat tetapan berikut untuk mengelakkan: Tetapkan dalam php.ini: magic_quotes_gpc = Mati)Ringkasan Seperti berikut: 1 Untuk kes magic_quotes_gpc=on, kami tidak boleh melakukan operasi addslashes() dan stripslash() pada data rentetan pangkalan data input dan output , data juga akan dipaparkan seperti biasa Jika anda melakukan addslashes() pada data input pada masa ini, maka anda mesti menggunakan stripslashes() untuk mengeluarkan lebihan garis miring ke belakang semasa mengeluarkan 2 Untuk kes magic_quotes_gpc=off mesti menggunakan addslashes() untuk memproses data input, tetapi tidak perlu menggunakan stripslashes() untuk formatkan output Kerana addslashes() tidak menulis backslashes ke dalam pangkalan data, ia hanya membantu mysql melengkapkan pelaksanaan pernyataan sql Teks penuh: http://blog.csdn. net/qinglianluan. /article/details/26272689Pengenalan kepada penggunaan fungsi php get_magic_quotes_gpc()http://www.php100.com/html/php/hanshu/2013/ 0905/4689.html // Ia boleh difahami dengan cara ini: Fungsi ini adalah untuk menentukan sama ada fungsi "Escape Special Characters" pelayan didayakan addslashes()Teks penuh: http: //php.net/manual/zh/function.
Atas ialah kandungan terperinci Bagaimana untuk memasukkan ke dalam pangkalan data dan melaksanakan operasi melarikan diri dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!