Rumah  >  Artikel  >  rangka kerja php  >  Adakah terdapat prapemprosesan dalam thinkphp?

Adakah terdapat prapemprosesan dalam thinkphp?

WBOY
WBOYasal
2022-04-07 16:17:272030semak imbas

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.

Adakah terdapat prapemprosesan dalam thinkphp?

Persekitaran pengendalian artikel ini: sistem Windows 10, ThinkPHP versi 5, komputer Dell G3.

Adakah terdapat prapemprosesan dalam thinkphp?

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.

Adakah terdapat prapemprosesan dalam thinkphp?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn