Rumah pembangunan bahagian belakang tutorial php Yii查询中IN查询只能查询一个的方法

Yii查询中IN查询只能查询一个的方法

Aug 13, 2017 pm 02:32 PM
parameter Pertanyaan

这篇文章主要介绍了Yii框架参数化查询中IN查询只能查询一个的解决方法,结合实例形式分析了Yii框架中IN查询只能查一个的原因及FIND_IN_SET函数相关功能与使用技巧,需要的朋友可以参考下

本文实例讲述了Yii框架参数化查询中IN查询只能查询一个的解决方法。分享给大家供大家参考,具体如下:

在yii框架中使用参数化进行IN查询时,结果不如所愿


$sql =<<<SQL
SELECT id FROM tb WHERE id IN(:ids)
SQL;
$db = GeneralService::getSlaveDB();
$result = $db->createCommand($sql)->query([&#39;:ids&#39; => &#39;1013,1015,1017&#39;])->readAll();
print_r($result);
Salin selepas log masuk


Array
(
  [0] => Array
    (
      [id] => 1013
    )
)
Salin selepas log masuk

于是翻了yii框架中相关源码,发现采用的是pdo查询,于是又查询了pdo相关资料,知道了原因:不能让占位符代替一组值


SELECT id FROM tb WHERE userid IN ( ? );
Salin selepas log masuk

既然知道了原因,那么就找到替代的方法,FIND_IN_SET正好可以满足


$sql =<<<SQL
SELECT id FROM tb WHERE FIND_IN_SET(id, :ids)
SQL;
$db = GeneralService::getSlaveDB();
$result = $db->createCommand($sql)->query([&#39;:ids&#39; => &#39;1013,1015,1017&#39;])->readAll();
print_r($result);
Salin selepas log masuk


Array
(
  [0] => Array
    (
      [id] => 1013
    )
  [1] => Array
    (
      [id] => 1015
    )
  [2] => Array
    (
      [id] => 1017
    )
)
Salin selepas log masuk

简单科普下FIND_IN_SET函数


FIND_IN_SET(str,strlist)
Salin selepas log masuk

假如字符串str在由N子链组成的字符串列表strlist中,则返回值的范围在 1 到 N 之间。

一个字符串列表就是一个由一些被 ‘,' 符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则   FIND_IN_SET() 函数被优化,使用比特计算。

如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。这个函数在第一个参数包含一个逗号(‘,')时将无法正常运行。

【ps】strlist中由逗号组成的字符串,不能像平常习惯的那样,逗号右边加个空格,那是认不出来的。

Atas ialah kandungan terperinci Yii查询中IN查询只能查询一个的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

12306 Cara menyemak rekod pembelian tiket sejarah Cara menyemak rekod pembelian tiket sejarah 12306 Cara menyemak rekod pembelian tiket sejarah Cara menyemak rekod pembelian tiket sejarah Mar 28, 2024 pm 03:11 PM

Muat turun versi terbaharu aplikasi tempahan tiket 12306 Ia adalah perisian pembelian tiket perjalanan yang semua orang sangat berpuas hati dengannya -pengesahan nama untuk membeli tiket dalam talian Semua pengguna Anda boleh membeli tiket perjalanan dan tiket penerbangan dengan mudah dan menikmati diskaun yang berbeza. Anda juga boleh mula menempah tempahan terlebih dahulu untuk merebut tiket Anda boleh menempah hotel atau pemindahan kereta khas Dengan itu, anda boleh pergi ke mana-mana yang anda mahu pergi dan membeli tiket dengan satu klik lebih mudah dan memudahkan semua orang lebih selesa. Kini editor memperincikannya dalam talian Menyediakan 12306 pengguna cara untuk melihat rekod pembelian tiket sejarah. 1. Buka Keretapi 12306, klik Saya di sudut kanan bawah, dan klik Pesanan Saya 2. Klik Dibayar pada halaman pesanan. 3. Pada halaman berbayar

Bagaimana untuk menyemak kelayakan akademik anda di Xuexin.com Bagaimana untuk menyemak kelayakan akademik anda di Xuexin.com Mar 28, 2024 pm 04:31 PM

Bagaimana untuk menyemak kelayakan akademik saya di Xuexin.com? Anda boleh menyemak kelayakan akademik anda di Xuexin.com Ramai pengguna tidak tahu cara menyemak kelayakan akademik mereka di Xuexin.com Seterusnya, editor membawakan tutorial grafik kepada pengguna tentang cara menyemak kelayakan akademik mereka di Xuexin.com pengguna datang dan lihat! Tutorial penggunaan Xuexin.com: Cara menyemak kelayakan akademik anda di Xuexin.com 1. Pintu masuk Xuexin.com: https://www.chsi.com.cn/ 2. Pertanyaan laman web: Langkah 1: Klik pada alamat Xuexin.com di atas untuk masuk ke laman utama Klik [Education Query]; Langkah 4: Pada halaman log masuk Masukkan maklumat dan klik [Log Masuk];

Pemeriksaan keselamatan jenis parameter fungsi C++ Pemeriksaan keselamatan jenis parameter fungsi C++ Apr 19, 2024 pm 12:00 PM

Pemeriksaan keselamatan jenis parameter C++ memastikan bahawa fungsi hanya menerima nilai jenis yang dijangkakan melalui semakan masa kompilasi, semakan masa jalan dan penegasan statik, menghalang tingkah laku yang tidak dijangka dan ranap program: Pemeriksaan jenis masa kompilasi: Pengkompil menyemak keserasian jenis. Semakan jenis masa jalan: Gunakan dynamic_cast untuk menyemak keserasian jenis dan buang pengecualian jika tiada padanan. Penegasan statik: Tegaskan keadaan jenis pada masa penyusunan.

Perbandingan persamaan dan perbezaan antara MySQL dan PL/SQL Perbandingan persamaan dan perbezaan antara MySQL dan PL/SQL Mar 16, 2024 am 11:15 AM

MySQL dan PL/SQL ialah dua sistem pengurusan pangkalan data yang berbeza, mewakili ciri pangkalan data hubungan dan bahasa prosedur masing-masing. Artikel ini akan membandingkan persamaan dan perbezaan antara MySQL dan PL/SQL, dengan contoh kod khusus untuk digambarkan. MySQL ialah sistem pengurusan pangkalan data hubungan popular yang menggunakan Bahasa Pertanyaan Berstruktur (SQL) untuk mengurus dan mengendalikan pangkalan data. PL/SQL ialah bahasa prosedur yang unik untuk pangkalan data Oracle dan digunakan untuk menulis objek pangkalan data seperti prosedur tersimpan, pencetus dan fungsi. sama

Bagaimana untuk menyemak tarikh pengaktifan pada telefon bimbit Apple Bagaimana untuk menyemak tarikh pengaktifan pada telefon bimbit Apple Mar 08, 2024 pm 04:07 PM

Jika anda ingin menyemak tarikh pengaktifan menggunakan telefon bimbit Apple, cara terbaik ialah menyemaknya melalui nombor siri dalam telefon bimbit Anda juga boleh menyemaknya dengan melawati laman web rasmi Apple, menyambungkannya ke komputer, dan memuat turun ketiga -perisian pihak untuk menyemaknya. Bagaimana untuk menyemak tarikh pengaktifan telefon bimbit Apple Jawapan: Pertanyaan nombor siri, pertanyaan laman web rasmi Apple, pertanyaan komputer, pertanyaan perisian pihak ketiga 1. Cara terbaik untuk pengguna ialah mengetahui nombor siri telefon bimbit mereka nombor siri dengan membuka Tetapan, Umum, Mengenai Mesin Ini. 2. Menggunakan nombor siri, anda bukan sahaja boleh mengetahui tarikh pengaktifan telefon bimbit anda, tetapi juga menyemak versi telefon bimbit, asal telefon bimbit, tarikh kilang telefon bimbit, dll. 3. Pengguna melawati tapak web rasmi Apple untuk mencari sokongan teknikal, mencari bahagian perkhidmatan dan pembaikan di bahagian bawah halaman, dan menyemak maklumat pengaktifan iPhone di sana. 4. Pengguna

Penggunaan lanjutan parameter rujukan dan parameter penunjuk dalam fungsi C++ Penggunaan lanjutan parameter rujukan dan parameter penunjuk dalam fungsi C++ Apr 21, 2024 am 09:39 AM

Parameter rujukan dalam fungsi C++ (pada asasnya alias berubah-ubah, mengubah suai rujukan mengubah suai pembolehubah asal) dan parameter penunjuk (menyimpan alamat memori pembolehubah asal, mengubah suai pembolehubah dengan menyahrujuk penunjuk) mempunyai penggunaan yang berbeza apabila menghantar dan mengubah suai pembolehubah. Parameter rujukan sering digunakan untuk mengubah suai pembolehubah asal (terutamanya struktur besar) untuk mengelakkan overhed salinan apabila diserahkan kepada pembina atau pengendali tugasan. Parameter penunjuk digunakan untuk secara fleksibel menunjuk ke lokasi memori, melaksanakan struktur data dinamik, atau menghantar penunjuk nol untuk mewakili parameter pilihan.

Bincangkan perkongsian kemahiran pertanyaan lokasi pangkalan data Bincangkan perkongsian kemahiran pertanyaan lokasi pangkalan data Mar 10, 2024 pm 01:36 PM

Forum adalah salah satu bentuk laman web yang paling biasa di Internet Ia menyediakan pengguna dengan platform untuk berkongsi maklumat, bertukar dan berbincang. Discuz ialah program forum yang biasa digunakan, dan saya percaya ramai juruweb sudah sangat mengenalinya. Semasa pembangunan dan pengurusan forum Discuz, selalunya perlu untuk menanyakan data dalam pangkalan data untuk analisis atau pemprosesan. Dalam artikel ini, kami akan berkongsi beberapa petua untuk menanyakan lokasi pangkalan data Discuz dan memberikan contoh kod khusus. Pertama, kita perlu memahami struktur pangkalan data Discuz

Model sumber terbuka memenangi GPT-4 buat kali pertama! Laporan pertempuran terbaru Arena telah mencetuskan perdebatan hangat, Karpathy: Ini adalah satu-satunya senarai yang saya percayai Model sumber terbuka memenangi GPT-4 buat kali pertama! Laporan pertempuran terbaru Arena telah mencetuskan perdebatan hangat, Karpathy: Ini adalah satu-satunya senarai yang saya percayai Apr 10, 2024 pm 03:16 PM

Model sumber terbuka yang boleh mengalahkan GPT-4 telah muncul! Laporan pertempuran terkini arena model besar: model sumber terbuka 104 bilion parameter CommandR+ naik ke tempat ke-6, mengikat dengan GPT-4-0314 dan mengatasi GPT-4-0613. Imej Ini juga merupakan model berat terbuka pertama yang mengalahkan GPT-4 dalam arena model besar. Arena model besar adalah satu-satunya penanda aras ujian yang dipercayai oleh master Karpathy. Image CommandR+ daripada AI unicorn Cohere. Pengasas bersama dan Ketua Pegawai Eksekutif permulaan model besar ini tidak lain adalah Aidan Gomez, pengarang termuda Transformer (dirujuk sebagai penuai gandum). Sebaik sahaja laporan pertempuran ini keluar, satu lagi gelombang kelab model besar bermula

See all articles