问关于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);
}
?>
这样试一下
------解决方案--------------------
数据库表的结构是什么样的。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

在這篇文章中,我們將向你們展示如何透過拖放在PowerQuery中重新排序多個欄位。通常,從各種來源匯入資料時,列可能不是所需的順序。重新排序列不僅允許您按照符合您的分析或報告需求的邏輯順序排列它們,還可以提高資料的可讀性,並加快過濾、排序和執行計算等任務。如何在Excel中重新排列多個列?在Excel中,重新排列列的方法有多種。您可以簡單地選擇列標題,然後將其拖曳到所需位置。但是,當處理包含許多列的大表時,這種方法可能會變得繁瑣。為了更有效率地重新排列列,您可以使用增強查詢編輯器。透過增強查詢編

insertignore、insert和replace的區別指令已存在不存在舉例insert報錯插入insertintonames(name,age)values(“小明”,23);insertignore忽略插入insertignoreintonames(name,age)values(“小明”,24);replace替換插入replaceintonames(name,age)values(“小明”,25);表格需求:有PrimaryKey,或unique索引結果:表id都會自增測試程式碼建立表

ReactQuery資料庫外掛:實作資料匯入和匯出的方法,需要具體程式碼範例隨著ReactQuery在前端開發中的廣泛應用,越來越多的開發者開始使用它來管理資料。而在實際開發中,我們經常需要將資料匯出到本機檔案或從本機檔案匯入資料到資料庫。為了更方便地實現這些功能,可以使用ReactQuery資料庫插件。 ReactQuery資料庫外掛提供了一系列方

使用java的StringBuilder.insert()函數在指定位置插入字串StringBuilder是Java中用於處理可變字串的類,它提供了多種方法來操作字串,其中insert()函數是用於在指定位置插入字串的常用方法之一。在本文中,我們將介紹如何使用insert()函數來實作在指定位置插入字串的功能,並給出對應的程式碼範例。 insert()

隨著遊戲發售日期的臨近,《黑神話:悟空》的炒作已在全球範圍內感受到,它在 8 月 20 日推出時並沒有令人失望,受到了整個遊戲社區的熱烈歡迎。上線後

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

在當今的Web開發時代,有效且有效率的表管理變得非常重要,特別是在處理資料量大的Web應用程式時。從表中動態新增、編輯和刪除行的能力可以顯著增強使用者體驗並使應用程式更具互動性。實現這一目標的一種有效方法是利用jQuery的強大功能。 jQuery提供了許多功能來幫助開發人員執行操作。表格行表格行是相互關聯的資料的集合,由HTML中的元素表示。它用於將表格中的單元格(由元素表示)分組在一起。每個元素用於定義表中的一行,對於多屬性表,通常包含一個或多個元素。語法$(selector).append(co

本文將介紹如何使用PowerQuery將資料進行行拆分。從其他系統或來源匯出資料時,常常會遇到資料儲存在儲存格中組合多個值的情況。透過PowerQuery,我們可以輕鬆將這樣的資料拆分成行,讓資料更易於處理和分析。若使用者不了解Excel的規則並意外將多個資料輸入到一個儲存格,或從其他來源複製/貼上資料時未正確格式化,就會發生這種情況。要處理這些數據,需要額外的步驟來提取和整理信息,以便進行分析或報告。如何在PowerQuery中拆分資料? PowerQuery轉換可以根據各種不同因素(例如字
