Yii調(diào)試SQL主要有以下方法:
一、系統(tǒng)自帶調(diào)試:
首先index.php開啟調(diào)試模式:
// remove the following lines when in production mode defined('YII_DEBUG') or define('YII_DEBUG',true); // specify how many levels of call stack should be shown in each log message defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3); //app use time //defined('YII_BEGIN_TIME') or define('YII_BEGIN_TIME',microtime(true));
main.php頁面:
'errorHandler'=>array( // use 'site/error' action to display errors 'errorAction'=>'site/error', ), 'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=>'CFileLogRoute', 'levels'=>'error, warning', ), // 下面顯示頁面日志 array( 'class'=>'CWebLogRoute', 'levels'=>'trace', //級(jí)別為trace 'categories'=>'system.db.*' //只顯示關(guān)于數(shù)據(jù)庫信息,包括數(shù)據(jù)庫連接,數(shù)據(jù)庫執(zhí)行語句 ), ), ),
YII_TRACE_LEVEL的數(shù)字越大,信息越清楚
二、使用調(diào)試工具調(diào)試:
yii-debug-toolbar把包解壓后 放到extensions里邊 然后在配置文件main.php中最后加上
'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=>'ext.yii-debug-toolbar.YiiDebugToolbarRoute', 'ipFilters'=>array('127.0.0.1','192.168.1.215'), ), ), ),
沒有出現(xiàn)的話加上在'components'下的db里加上兩個(gè)屬性
'enableProfiling'=>true, 'enableParamLogging'=>true,
然后如果有其他調(diào)試工具的插件的話,可能會(huì)出現(xiàn)沖突導(dǎo)致sql語句不出來,把那段代碼注掉即可。
推薦教程:yii
Atas ialah kandungan terperinci yii調(diào)試sql的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apabila merancang pangkalan data relasi, empat prinsip utama harus diikuti. Pertama, gunakan kekangan utama utama dan asing untuk memastikan integriti data dan ketepatan persatuan; Kedua, melakukan reka bentuk piawai yang munasabah, biasanya mencapai bentuk normal ketiga (3NF), menghapuskan redundansi dan memastikan konsistensi data; Ketiga, menubuhkan indeks yang sesuai untuk pertanyaan umum untuk meningkatkan prestasi pertanyaan tetapi elakkan lebih banyak indeks; Akhirnya, menggunakan spesifikasi penamaan yang konsisten dan gaya struktur untuk meningkatkan kebolehbacaan dan kebolehkerjaan. Menguasai prinsip -prinsip ini dapat membantu membina struktur pangkalan data yang jelas, cekap dan mantap.

Klausa Where SQL digunakan untuk menapis baris data yang memenuhi kriteria dengan tepat. 1. menggunakan pengendali perbandingan (seperti =,>, 30; Isnotnull untuk menilai nilai null untuk memastikan hasil pertanyaan adalah tepat.

Perubahan nama jadual biasanya dilaksanakan dalam SQL menggunakan perintah renametable atau altertable. 1.MYSQL, MariaDB dan pangkalan data lain Gunakan renametableold_table_nametonew_table_name; sintaks, menyokong operasi batch; 2. SQLServer memerlukan prosedur yang disimpan SP_RENAME, dan sintaks adalah execsp_rename'old_table_name ',' new_table_name '; 3.PostgreSql Menggunakan altertableold_table_namerenametonew_table_name

Tarikh format dalam SQL, anda perlu memilih fungsi yang sepadan mengikut jenis pangkalan data. Mysql menggunakan date_format () dengan%y,%m dan format lain, seperti selectDate_Format (sekarang (), '%y-%m-%d'); SQLServer menggunakan Convert () atau format (), bekas adalah selectConvert (varchar, getDate (), 112), dan yang terakhir adalah selectFormat (getDate (), 'yyyy-mm-dd'); PostgreSql menggunakan to_char (), seperti selectTo_char (sekarang (), 'y

Baca replika diperlukan kerana kebanyakan aplikasi membaca lebih lanjut dan menulis kurang, dan perpustakaan induk mudah menjadi hambatan; Tetapan biasa termasuk replikasi master-hamba MySQL, replikasi aliran PostgreSQL, kumpulan SQLServer's Alwayson, dan contoh Readreplica RDS; Permintaan membaca boleh dinilai melalui lapisan permohonan, dan rangka kerja middleware atau ORM dialihkan ke replika; Masalah yang mudah diabaikan termasuk kelewatan replikasi, konfigurasi kolam sambungan yang tidak betul, pemeriksaan kesihatan yang hilang, dan pengurusan kebenaran yang tidak mencukupi.

Tulis pertanyaan SQL tersuai di YII dan boleh dilaksanakan melalui Yii :: $ App-> db. Langkah -langkah adalah seperti berikut: 1. Buat arahan pertanyaan menggunakan createCommand (); 2. Parameter mengikat melalui bindValue () atau bindParam () untuk mencegah suntikan SQL; 3. Call QueryAll (), queryOne () dan kaedah lain untuk melaksanakan pertanyaan; 4. Untuk memasukkan dan mengemaskini operasi, anda boleh mengikat Call Insert () dan mengemas kini () kaedah; 5. Adalah disyorkan untuk menulis SQL secara langsung dan mengikat parameter; 6. Jika hasilnya perlu ditukar menjadi model, anda boleh memberi instantiate dan menetapkan sifat; 7. Gunakan QueryBuilder untuk membina pertanyaan selamat terlebih dahulu, dan balasan, dan balasan.

Perlawanan adalah mekanisme yang digunakan untuk pramuat data dalam ujian YII. 1. Buat kelas perlawanan untuk mewarisi aktif dan tentukan model; 2. Tetapkan perintah ketergantungan melalui $ bergantung; 3. Tentukan fail data dalam data/direktori; 4. Mengisytiharkan penggunaan dalam kelas ujian melalui kaedah lekapan (); 5. Yii secara automatik memuat dan membersihkan data selepas ujian. Sebagai contoh, UserFixture akan memuatkan data pengguna dalam fail ujian/lekapan/data/user.php. Semasa ujian, anda boleh mendapatkan data ALICE melalui $ this-> pengguna ['user1'] untuk pengesahan pernyataan. Yii menawarkan pelbagai fi

Dalam YII, widget digunakan untuk melaksanakan multiplexing komponen dengan merangkumi logik paparan kompleks. 1. Gunakan kaedah widget () untuk memanggil widget terbina dalam, seperti LinkPager untuk penomboran, dan ActiveForm untuk mencipta bentuk mengikat model; 2. Widget biasa termasuk GridView untuk memaparkan data jadual, terperinci untuk memaparkan butiran model, dan menu menu menu navigasi; 3. Widget tersuai boleh dibuat dengan mewarisi yii \ base \ widget, melaksanakan kaedah larian () dan menentukan atribut untuk meningkatkan kebolehgunaan semula, seperti yang ditunjukkan dalam contoh Hellowidget. Menguasai kaedah teras ini dapat meningkatkan kecekapan pembangunan.
