PHP如何判斷輸入資料庫的欄位值不能重複

時間 2021-08-30 10:36:08

1樓:

php傳送 1

首先進行查詢 where name= 1如果存在 返回false 如果不存在返回true如果是false 說明存在,就可以echo 已經存在如果是true 就儲存

2樓:匿名使用者

你在設計資料表結構時,要把不能重複的欄位設成unique,從根源上杜絕重複的可能性;

程式這一塊,可以事先select判斷一下,或者在執行insert後判斷一下均可,因為某欄位是unique的,如果欄位值有重複是無法寫入資料庫的

3樓:匿名使用者

最簡單的就是把資料庫中這個欄位值設定為unique屬性,輸入的時候如果重複就會直接返回錯誤。

麻煩點的就是先把輸入的值作為條件來查詢,如果返回有值就是有重複,沒有返回值就是沒有重複,再輸入就好。

4樓:匿名使用者

這個檔案很簡單,比如是user表,欄位有:id 主鍵,自動增長,username使用者名稱,password密碼

那麼你註冊使用者不允許存在兩個相同的使用者名稱的話,在插入資料之前,先進行查詢。比如你獲得了使用者名稱$username="admin",那麼先查詢select count(username) from user where username = "admin",如果查詢的結果大於0,則說明這個使用者已經存在了,那麼就不插入啊,很簡單的道理

5樓:匿名使用者

最好的方法是在資料庫對該欄位新增唯一約束,然後在插入的時候判斷,是否觸發唯一約束,觸發就告知已有相同資料,否則插入成功,這樣無論是效能還是處理邏輯都是最好的。

當然按樓上的也能達到效果,但不是最佳方案,最少浪費一次資料庫連結。

6樓:小豬就吃肉

我想資料庫那邊欄位設定成唯一比較直接吧,要不就得一個個比較了

7樓:

樓上幾位說的都差不多了,我總結補充一下哈。

1.如果一個表的某個欄位(或幾個欄位的組合)禁止重複資料,請將其定義為唯一鍵,從根本上保證資料的唯一性。

2.插入之前使用select語句查詢一下,唯一鍵也是一種索引,所以查詢速度很快,消耗幾乎可以忽略。

3.為什麼不推薦直接insert資料:insert失敗可能是多種原因引起的,你不能因為插入失敗就告訴前端頁面***不允許重複,這是很糟糕的使用者體驗。

補充,請注意insert之前的唯一性檢查和update之前的唯一性檢查不同,update之前的檢查請記得要排除當前行,例如select count(*) from user where id <> current_user_id and email = 'newemail'

8樓:雪泥n戀

執行新增時先檢視資料庫裡有沒有這個值若沒有再新增啊

php怎麼連線mysql資料庫,php怎麼連線Mysql資料庫問題!

db server localhost db user root db pwd password db name test sql select from user where username admin conn mysql pconnect db server,db user,db pwd m...

如何查詢某個資料庫的某個表欄位,SQL資料庫,如何查詢資料庫內含有某一列(某欄位,如name)的所有表

流浪還不行嗎 2008沒用過,不懂!不過我覺得應該和2003或者2005是一樣的操作,因為他們都使用的sql語句,變化應該不是很大! select b.name 表名,a.name 欄位名 from syscolumns a join sysobjects b on a.id b.id where ...

貸款程式的資料庫需要哪些欄位

貸款程式的資料庫中需要多個表,涉及貸款人姓名 身份證號 地址 聯絡 貸款額 貸款利率 還款方式 貸款年月份 貸款日期 擔保人等。 重開六道 機構號 機構名稱 條線劃分 貸款品種 貸款用途 行業類別 額度編號 借據號 借款人客戶號 借款人 放款日期 到期日期 放款金額 剩餘本金 逾期開始日期 逾期天數...