


Mari kita bincangkan tentang operasi pangkalan data Thinkphp 5.0 (kod kunci)
Sep 23, 2022 pm 07:28 PMTapak web standard mesti tidak dapat dipisahkan daripada operasi pangkalan data Dalam kursus ini, saya akan bekerjasama dengan anda untuk membongkar misteri operasi data ThinkPHP5, dan dengan senang hati menggunakan ThinkPHP5 untuk mengendalikan pangkalan data dengan anda, menjadikan operasi pangkalan data lebih mudah.
Penggunaan asas
Kendalian pertanyaan
Db::query('select?*?from?think_user?where?id=?',[8]);
Kendalian tulis
Db::execute('insert?into?think_user?(id,?name)?values?(?,??)',[8,'thinkphp']);
Pembina pertanyaan
Data pertanyaan
cari mengembalikan rekod, dan hasil yang dikembalikan ialah tatasusunan satu dimensi Jika hasilnya tidak wujud, NULL dikembalikan
Db::table('think_user')->where('id',1)->find();
pilih mengembalikan semua rekod. dan hasil yang dikembalikan ialah tatasusunan Dua dimensi Jika hasilnya tidak wujud, tatasusunan kosong dikembalikan
Db::table('think_user')->where('status',1)->select();
Fungsi pembantu
Sistem menyediakan db fungsi pembantu untuk pertanyaan yang lebih mudah:
db('user')->where('id',1)->find(); db('user')->where('status',1)->select();
Nota: Menggunakan fungsi pembantu db akan menyambung semula ke pangkalan data setiap kali secara lalai, sambil menggunakan kaedah Db::name atau Db::table ialah seorang bujang. Jika fungsi db perlu menggunakan pautan yang sama, anda boleh memasukkan parameter ketiga, seperti
db('user',[],false)->where('id',1)->find(); db('user',[],false)->where('status',1)->select();
Tambah data
Gunakan kaedah sisipan kelas Db untuk menyerahkan data ke pangkalan data
$data?=?['foo'?=>?'bar',?'bar'?=>?'foo']; Db::table('think_user')->insert($data);
Tambah berbilang keping data
Tambah berbilang keping data terus ke kelas Db Kaedah insertAll boleh menghantar data yang perlu ditambah
$data?=?[????['foo'?=>?'bar',?'bar'?=>?'foo'], ????['foo'?=>?'bar1',?'bar'?=>?'foo1'], ????['foo'?=>?'bar2',?'bar'?=>?'foo2'] ]; Db::name('user')->insertAll($data);
Kaedah insertAll berjaya menambah data dan mengembalikan bilangan item yang berjaya ditambahkan
Fungsi Penolong
//?添加單條數(shù)據(jù) db('user')->insert($data); //?添加多條數(shù)據(jù) db('user')->insertAll($list);
Kemas kini data
Kaedah kemas kini mengembalikan bilangan data yang terjejas dan mengembalikan 0 jika tiada data diubah suai
Db::table('think_user')->where('id',?1)->update(['name'?=>?'thinkphp']);
Kemas kini nilai medan: kaedah setField Mengembalikan bilangan data yang terjejas Jika tiada medan data diubah suai, mengembalikan 0
Db::table('think_user')->where('id',1)->setField('name',?'thinkphp');
自增或自減一個字段的值 //?score?字段加?1 Db::table('think_user')->where('id',?1)->setInc('score'); //?score?字段加?5 Db::table('think_user')->where('id',?1)->setInc('score',?5); //?score?字段減?1 Db::table('think_user')->where('id',?1)->setDec('score'); //?score?字段減?5 Db::table('think_user')->where('id',?1)->setDec('score',?5);
Kemas kini tertunda
Db::table('think_user')->where('id',?1)->setInc('score',?1,?10);
Padam data
//?根據(jù)主鍵刪除 Db::table('think_user')->delete(1); Db::table('think_user')->delete([1,2,3]); //?條件刪除???? Db::table('think_user')->where('id',1)->delete(); Db::table('think_user')->where('id','<',10)->delete();
Kaedah pertanyaan bersyarat
di mana
Anda boleh menggunakan kaedah where untuk melaksanakan DAN pertanyaan bersyarat:
Db::table('think_user') ????->where('name','like','%thinkphp') ????->where('status',1) ????->find();
kaedah whereAr
Db::table('think_user') ????->where('name','like','%thinkphp') ????->whereOr('title','like','%thinkphp') ????->find();
pertanyaan bercampur
di mana kaedah dan kaedah di mana sering perlu dicampur bersama dalam keadaan pertanyaan kompleks. ??>Ungkapan pertanyaan
$result?=?Db::table('think_user')->where(function?($query)?{ ????$query->where('id',?1)->whereor('id',?2); })->whereOr(function?($query)?{ ????$query->where('name',?'like',?'think')->whereOr('name',?'like',?'thinkphp'); })->select();
Sokongan ungkapan pertanyaan Kebanyakan sintaks pertanyaan SQL juga merupakan intipati bahasa pertanyaan ThinkPHP Format penggunaan ungkapan pertanyaan:
[Cadangan tutorial berkaitan:
rangka kerja thinkphpwhere('字段名','表達(dá)式','查詢條件'); whereOr('字段名','表達(dá)式','查詢條件');]
表達(dá)式?含義 EQ、=?等于(=) NEQ、<>?不等于(<>) GT、>?大于(>) EGT、>=?大于等于(>=) LT、< 小于(<) ELT、<= 小于等于(<=) LIKE 模糊查詢 [NOT] BETWEEN (不在)區(qū)間查詢 [NOT] IN (不在)IN 查詢 [NOT] NULL 查詢字段是否(不)是NULL [NOT] EXISTS EXISTS查詢 EXP 表達(dá)式查詢,支持SQL語法 >?time?時間比較 <?time?時間比較 between?time?時間比較 notbetween?time?時間比較
Atas ialah kandungan terperinci Mari kita bincangkan tentang operasi pangkalan data Thinkphp 5.0 (kod kunci). 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)

Topik panas

Tostaycurrentwithphpdevelopmentsandbestpractices, followeyNewsssourcesLikePhp.netandphpweekly, engageWithCommunitiesonforumsandconference, keeptoolingupdatedandgraduallyAdoptNewFeatures, dan readribcoursourcourceSource

Phpbecamepopularforwebdevelopmentduetoitseaseoflearning, seamlessintegrationwithhtml, widespreadhostingsupport, andalargeecosystemincludingframeworkslikelaravelandcmsplatformsLikeWordPress.itexcelsinhandessubmissions

TosetTheRightTimeZoneinPhp, USEDATE_DEFAULT_TIMEZONE_SET () functionAtthestArtAfyourscriptwithavalididentifiersuchas'america/new_york'.1.usedate_default_timeSet ()

TOVALIDATEUSERIputInphp, UsEbuilt-InvalidationFunctionsLikeFilter_var () danFilter_Input (), applyRegularExpressionsforcustomformatssuchasususerorphonenumbers, checkdatatypesfornumericressplimeSpriceSprice, setLengthacheAngeAgeorpriceSprice, setLengthacheArpesenprice,

ThPhpFunctionserialize () andUnserialize () diselaraskanToConvertComplexDataStructructDestoresIntoStorasandabackagain.1.Serialize () C overtsdatalikeCarraysorObjectSrayStringContainingTyPeanStructureStructureStructureStructure.2.2Serialize ()

Anda boleh membenamkan kod PHP ke dalam fail HTML, tetapi pastikan fail itu mempunyai lanjutan .php supaya pelayan dapat menghuraikannya dengan betul. Gunakan tag standard untuk membungkus kod PHP, masukkan kandungan dinamik di mana sahaja di HTML. Di samping itu, anda boleh menukar PHP dan HTML beberapa kali dalam fail yang sama untuk merealisasikan fungsi dinamik seperti rendering bersyarat. Pastikan anda memberi perhatian kepada konfigurasi pelayan dan ketepatan sintaks untuk mengelakkan masalah yang disebabkan oleh label pendek, kesilapan tanda petikan atau label akhir yang ditinggalkan.

Kunci untuk menulis kod PHP yang bersih dan mudah dijaga terletak pada penamaan yang jelas, berikutan piawaian, struktur yang munasabah, menggunakan komen dan kesesuaian yang baik. 1. Gunakan pembolehubah, fungsi dan nama kelas yang jelas, seperti $ userData dan calculateToTalPrice (); 2. Ikuti gaya kod bersatu piawai PSR-12; 3. Pecahkan struktur kod mengikut tanggungjawab, dan aturnya menggunakan katalog MVC atau Laravel; 4. Elakkan kod gaya mi dan memecah logik ke dalam fungsi kecil dengan satu tanggungjawab; 5. Tambah komen pada mata utama dan tulis dokumen antara muka untuk menjelaskan parameter, pulangan nilai dan pengecualian; 6. Meningkatkan kebolehlihatan, mengguna pakai suntikan pergantungan, mengurangkan kaedah keadaan global dan statik. Amalan ini meningkatkan kualiti kod, kecekapan kerjasama dan kemudahan pasca penyelenggaraan.

Ya, youpanrunsqlqueriesusingphp, danTheProcessinvolveschoosingadatabaseextension, connectingTothedatabase, executingqueriSafely, andclosingconnectionswhendone.todothis, firstChoosebetweBetbeSquLiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpdob
