你好,這是我解決你這個(gè)問題的思路,希望能幫到你:比如你是根據(jù)a字段設(shè)置唯一,在每次插入之前就使用下一條需要插入的值去數(shù)據(jù)表里面查詢,如果查詢到了就跳出當(dāng)前循環(huán),下次循環(huán)繼續(xù)(continue),希望能幫到你!
涵江ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
?php?
session_start();
$id_lucky?=?$_POST['id_lucky'];
$customer?=?$_POST['customer'];
$prize?=?$_POST['prize'];
$hide?=?$_POST['hidden'];
//var_dump($_SESSION);
if($hide==$_SESSION['conn'])//你這里判斷的session是什么時(shí)候存入session的
{
$sql=mysql_query("insert?into?"._DB_PREFIX_."luckdraw?(customer,prize)?values?('$customer','$prize')");
//你這里沒有判斷?你應(yīng)該在這里判斷一下mysql_query是否執(zhí)行成功?執(zhí)行sql成功?是提交成功?否則是失敗?建議你使用var_dump($sql)打印$sql看看$sql是什么數(shù)據(jù)類型
if($sql){
echo?"親,提交成功了哦";
}else{
echo?'失敗';
}
??
}else
{
echo?"scriptreturn?false;/script";????
}
session_destroy();
如果不想每條查詢一次,可以提前做一個(gè)統(tǒng)一查詢
$sql=mysql_query("select distinct Code from test ",$conn);
$sqlvalue=[];
while($row=mysql_fetch_array($sql)){
$sqlvalue[]=$row['Code'];
}
另外 ,可以在建表的時(shí)候設(shè)置unique index,來徹底避免插入重復(fù)記錄,如果沒過濾好插入重復(fù)記錄的時(shí)候,系統(tǒng)會(huì)直接報(bào)錯(cuò)
導(dǎo)入數(shù)據(jù)庫么? Navicate 這個(gè)數(shù)據(jù)庫輔助軟件挺好用 數(shù)據(jù)重復(fù)的 必須有個(gè)字段區(qū)分開
每次進(jìn)入提交的頁面,給一個(gè)session,為了避免重復(fù),session的key可以是隨機(jī)的。
在表單填寫頁面
?php
session_start(); // 啟用session
$time = time();
$key = 'sess_' . $time; // 根據(jù)時(shí)間生成一個(gè)隨機(jī)的session key
$_SESSION[$key] = $time; // 設(shè)置session的值
?
!--{通過隱藏表單將 session 的 key傳遞到服務(wù)端處理}--
input type="hidden" name="session_key" value="?php echo $time;?" /
處理頁面
?php
session_start(); // 啟用session
$key = $_POST['session_key'];
if(!$key || $_SESSION[$key] != substr($key, 5)){
// 如果沒有傳 session_key 參數(shù)
// 或者 session_key 參數(shù)值截?cái)?sess_后的數(shù)字 與 session參數(shù)值不匹配
unset($_SESSION[$key]); // 刪除 session 值
// 然后考慮是否要提示錯(cuò)誤,或者轉(zhuǎn)入另一個(gè)頁面
exit(); // 終止頁面代碼執(zhí)行
}
// 下面進(jìn)行數(shù)據(jù)寫操作
// 數(shù)據(jù)操作完成后,刪除session
unset($_SESSION[$key]);
// 后續(xù)操作
?
$########################
一個(gè)頁面也是一樣的,我給你的只是一個(gè)思維,
具體如何實(shí)現(xiàn),你要根據(jù)自己的實(shí)際情況去處理
很多東西都不是通用的
另外,不管多少個(gè)頁面,必然包含兩個(gè)部分,一部分是表單填寫,一部分是數(shù)據(jù)處理,這個(gè)跟多少個(gè)頁面無關(guān)~~就看你是否能夠理解這段代碼的意義,如果不理解的話,嵌套進(jìn)去也沒啥用,能夠理解的話,或許你能夠找出更適合自己的解決方案
你可以這樣,你有一張ip_code表格,你加一個(gè)字段為state,你每次取的時(shí)候把state標(biāo)為1,而沒取得為0,那么每次拿都是去拿為0的。
當(dāng)前名稱:數(shù)據(jù)導(dǎo)入如何不重復(fù)php sql導(dǎo)入數(shù)據(jù)不允許重復(fù)
網(wǎng)站地址:http://jinyejixie.com/article44/hpcgee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站內(nèi)鏈、服務(wù)器托管、網(wǎng)站營(yíng)銷、虛擬主機(jī)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)