Rumah > Artikel > rangka kerja php > Adakah terdapat prapemprosesan dalam thinkphp?
Terdapat prapemprosesan dalam thinkphp. Versi "ThinkPHP3.1" menambah sokongan untuk prapemprosesan rentetan bersyarat, menjadikan keselamatan ORM lebih selamat. Kaedah: 1. Gunakan kaedah where untuk praproses keadaan rentetan 2. Gunakan pertanyaan dan laksanakan kaedah untuk praproses kaedah pertanyaan SQL asli.
Persekitaran pengendalian artikel ini: sistem Windows 10, ThinkPHP versi 5, komputer Dell G3.
Adakah terdapat prapemprosesan dalam thinkphp?
Versi ThinkPHP3.0 sebelumnya mempunyai kaedah tatasusunan Keadaan pertanyaan akan ditapis dengan selamat (ini kerana 3.0 memaksa penggunaan pengesanan jenis medan, jadi keadaan pertanyaan tatasusunan akan dipaksa untuk ditukar kepada jenis medan yang ditetapkan), tetapi versi 3.0 tidak menyokong penapisan selamat keadaan rentetan. Versi ThinkPHP 3.1 menambah sokongan untuk prapemprosesan rentetan bersyarat, menjadikan keselamatan ORM lebih terjamin.
1. Gunakan kaedah where
Kaedah where bagi kelas Model menyokong prapemprosesan rentetan Cara menggunakan:
$Model->where("id=%d and username='%s' and xx='%f'",array($id,$username,$xx))->select();
atau gunakannya secara terus :
$Model->where("id=%d and username='%s' and xx='%f'",$id,$username,$xx)->select();
Jika pembolehubah $id datang daripada penyerahan pengguna atau alamat URL, jika jenis masuk adalah jenis bukan angka, ia akan dipaksa untuk diformatkan ke dalam format angka sebelum membuat pertanyaan .
Jenis format prapemprosesan rentetan menyokong penentuan nombor, rentetan, dll. Untuk butiran, sila rujuk perihalan parameter kaedah vsprintf.
2. Gunakan pertanyaan dan laksanakan kaedah
Selain keadaan, kaedah pertanyaan SQL asli juga menyokong mekanisme prapemprosesan, contohnya:
$Model->query("SELECT * FROM think_user WHERE id=%d and username='%s' and xx='%f'",array($id,$username,$xx));
Kaedah pelaksanaan model juga menyokong mekanisme prapemprosesan seperti kaedah pertanyaan.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Adakah terdapat prapemprosesan dalam thinkphp?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!