Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengikat Tatasusunan ID ke Penyata IN MySQL Menggunakan PDO dengan betul?
Nilai Pengikat PDO untuk Penyata MySQL IN
Soalan ini menangani pengikatan tatasusunan ID kepada pernyataan PDO untuk digunakan dalam pernyataan MySQL IN . Isu timbul apabila nilai yang dipisahkan koma dalam tatasusunan dianggap sebagai rentetan tunggal dan bukannya nilai individu.
Penyelesaian:
Penyelesaian yang dicadangkan ialah menggunakan fungsi find_in_set dalam klausa WHERE. Walau bagaimanapun, terdapat pilihan lain yang tersedia.
Pilihan 1: Find_in_set
select users.id from users join products on products.user_id = users.id where find_in_set(cast(products.id as char), :products)
Kaedah ini sesuai untuk set data yang agak kecil, kerana ia boleh mempunyai implikasi prestasi untuk pangkalan data yang lebih besar.
Pilihan 2: Ditakrifkan Pengguna Fungsi
Fungsi yang ditentukan pengguna boleh dibuat untuk memisahkan senarai nilai yang dipisahkan koma. Ini ialah penyelesaian yang lebih berskala untuk set data yang besar. Sumber untuk mencipta fungsi sedemikian boleh didapati dalam pautan yang disediakan:
http://www.slickdev.com/2008/09/15/mysql-query-real-values-from-delimiter-separated- string-ids/
Akhirnya, pilihan penyelesaian bergantung pada saiz dan kerumitan set data yang sedang diproses.
Atas ialah kandungan terperinci Bagaimana untuk Mengikat Tatasusunan ID ke Penyata IN MySQL Menggunakan PDO dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!