Cara menggunakan LIMIT dan ruang letak dalam MySQL (Node.JS)
P粉416996828
2023-07-24 21:17:01
<p>Saya cuba melaksanakan pertanyaan dengan ruang letak menggunakan Node.js dan MySQL. Walau bagaimanapun, pemegang tempat LIMIT nampaknya tidak berfungsi kerana nilai selepasnya sepatutnya tanpa petikan. Ini adalah pertanyaan saya: </p>
<pre class="brush:php;toolbar:false;">PILIH Nama pengguna, klik DARIPADA pengguna ORDER BY klik DESC LIMIT ?</pre>
<p>Bagaimanakah saya boleh mendapatkan tingkah laku yang saya mahu menggunakan ruang letak, adakah ini mungkin? Berikut ialah pernyataan kod lengkap, dengan data.topUsersCount ialah nilai integer: </p>
<pre class="brush:php;toolbar:false;">con.query("PILIH Nama pengguna, klik DARIPADA pengguna ORDER OLEH klik DESC LIMIT ?", [data.topUsersCount], (err, topUsersData) => {
// Mengendalikan data
});</pre>
<p>Saya juga cuba menggunakan pemegang tempat berganda "??" </p>
Begini cara anda boleh mengendalikan perkara ini dalam kod anda:
Dalam kod di atas, gunakan Number.isInteger(data.topUsersCount) untuk menyemak sama ada data.topUsersCount ialah integer yang selamat sebelum memasukkannya ke dalam rentetan pertanyaan. Ini penting untuk mencegah serangan suntikan SQL.