问关于sql语句防止用户重复提交有时候不起作用解决方案
问关于sql语句防止用户重复提交有时候不起作用
有一个问答表单,用户选择好选项之后提交,我先用一个sql语句加上限制,使得回答正确的人就不用再回答了:
- SQL code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->select * from q_record where username='$username' and isright=1 limit 1
如果找不到,则执行插入语句:
- SQL code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->insert into q_record...
但是发现,数据库里面仍然会有个用户的isright=1的数量大于1,而且时间是同一秒的,不知道是什么原因?是不是数据库反应不过来了,还没有做好select判断,就执行了insert语句?
------解决方案--------------------
我想看看你的php代码. 另外SQL也不需要这么写.
------解决方案--------------------
你这个不是同个表么?q_record 怎么是用insert into 不是update set?
------解决方案--------------------
加个时间限制,js和php都限制,js限制是一般情况的限制,php再在session中存放上次回答时间,到时候进行限制就行了,如果问题是因为极短时间内重复提交的原因
------解决方案--------------------
------解决方案--------------------
说起这个防止用户重复提交,连号称最大社区的csdn也没解决,,昨天一个getTime()的问题,,我只提交了一遍,出来显示2个,扣了40分,我擦
------解决方案--------------------
$query = "select * from q_record where username='$username' and isright=1 limit 1";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
if ($row) {
echo "你已经答对该题了,不需要再回答哦!";
}else{
$query = "insert into q_record (pid,question,isright,time) values ('$pid','$question','$isright','$time')";
$result = mysql_query($query);
}
?>
这样试一下
------解决方案--------------------
数据库表的结构是什么样的。

Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

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



Dalam artikel ini, kami akan menunjukkan kepada anda cara menyusun semula berbilang lajur dalam PowerQuery dengan menyeret dan melepaskan. Selalunya, apabila mengimport data daripada pelbagai sumber, lajur mungkin tidak berada dalam susunan yang diingini. Menyusun semula lajur bukan sahaja membolehkan anda menyusunnya dalam susunan logik yang sesuai dengan keperluan analisis atau pelaporan anda, ia juga meningkatkan kebolehbacaan data anda dan mempercepatkan tugas seperti menapis, mengisih dan melakukan pengiraan. Bagaimana untuk menyusun semula berbilang lajur dalam Excel? Terdapat banyak cara untuk menyusun semula lajur dalam Excel. Anda hanya boleh memilih pengepala lajur dan seret ke lokasi yang dikehendaki. Walau bagaimanapun, pendekatan ini boleh menjadi rumit apabila berurusan dengan jadual besar dengan banyak lajur. Untuk menyusun semula lajur dengan lebih cekap, anda boleh menggunakan editor pertanyaan yang dipertingkatkan. Mempertingkatkan pertanyaan

Perbezaan antara arahan insertignore, masukkan dan ganti sudah wujud atau tidak Contoh ralat sisipan (nama,umur)nilai("Xiaoming",23);insertignore mengabaikan nilai insertignoreintonames("Xiaoming",24) ;ganti Ganti dan masukkan nilai gantiintonames(nama,umur)("Xiao Ming", 25); Keperluan jadual: PrimaryKey, atau hasil indeks unik: id jadual akan ditambah secara automatik

Pemalam pangkalan data ReactQuery: Kaedah untuk melaksanakan import dan eksport data, contoh kod khusus diperlukan Dengan aplikasi ReactQuery yang meluas dalam pembangunan bahagian hadapan, semakin ramai pembangun mula menggunakannya untuk mengurus data. Dalam pembangunan sebenar, kita selalunya perlu mengeksport data ke fail tempatan atau mengimport data daripada fail tempatan ke dalam pangkalan data. Untuk melaksanakan fungsi ini dengan lebih mudah, anda boleh menggunakan pemalam pangkalan data ReactQuery. Pemalam pangkalan data ReactQuery menyediakan satu siri kaedah

Gunakan fungsi StringBuilder.insert() java untuk memasukkan rentetan pada kedudukan tertentu StringBuilder ialah kelas dalam Java yang digunakan untuk mengendalikan rentetan pembolehubah. Fungsi insert() digunakan untuk Salah satu kaedah biasa memasukkan rentetan secara kedudukan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan fungsi insert() untuk memasukkan rentetan pada kedudukan tertentu dan memberikan contoh kod yang sepadan. masukkan()

Gembar-gembur untuk Mitos Hitam: Wukong telah dirasai secara global apabila permainan itu perlahan-lahan merangkak menuju tarikh pelancarannya, dan ia tidak mengecewakan apabila ia dilancarkan pada 20 Ogos, setelah menerima sambutan yang sangat hangat daripada komuniti permainan secara amnya. Selepas berada di onl

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Dalam era pembangunan web hari ini, pengurusan jadual yang berkesan dan cekap telah menjadi sangat penting, terutamanya apabila berurusan dengan aplikasi web berat data. Keupayaan untuk menambah, mengedit dan memadam baris secara dinamik daripada jadual boleh meningkatkan pengalaman pengguna dengan ketara dan menjadikan aplikasi lebih interaktif. Cara yang berkesan untuk mencapai ini adalah dengan memanfaatkan kuasa jQuery. jQuery menyediakan banyak ciri untuk membantu pembangun melaksanakan operasi. Baris jadual Baris jadual ialah koleksi data yang saling berkaitan, diwakili oleh elemen dalam HTML. Ia digunakan untuk mengumpulkan sel (diwakili oleh unsur) dalam jadual. Setiap elemen digunakan untuk menentukan baris dalam jadual, dan untuk jadual berbilang atribut, ia biasanya mengandungi satu atau lebih elemen. Syntax$(selector).append(co

Artikel ini akan memperkenalkan cara menggunakan PowerQuery untuk memisahkan data kepada baris. Apabila mengeksport data daripada sistem atau sumber lain, adalah perkara biasa untuk menghadapi situasi di mana data disimpan dalam sel yang menggabungkan berbilang nilai. Dengan PowerQuery, kami boleh membahagikan data sedemikian ke dalam baris dengan mudah, menjadikan data lebih mudah untuk diproses dan dianalisis. Ini boleh berlaku jika pengguna tidak memahami peraturan Excel dan secara tidak sengaja memasukkan berbilang data ke dalam sel, atau jika data tidak diformat dengan betul semasa menyalin/menampalkannya daripada sumber lain. Memproses data ini memerlukan langkah tambahan untuk mengekstrak dan menyusun maklumat untuk analisis atau pelaporan. Bagaimana untuk memisahkan data dalam PowerQuery? Transformasi PowerQuery boleh berdasarkan pelbagai faktor berbeza seperti perkataan
