我想知道如何檢查登錄是否存在於我的數據庫中。此時此刻,我正在使用mysql_num_rows()
,但兩小時前我意識到這對我的網站並不安全,因爲如果我註冊暱稱:保羅和我的朋友註冊暱稱:PauL,我的網站讓我們註冊這些暱稱......我不知道如何檢查字的長度等於同一個詞只是不同的字母...php註冊腳本相同的暱稱
回答
SELECT whatever FROM users WHERE UCASE(username) = 'USERNAMEINUPPERCASE';
基本上,如果你使用UCASE()
功能,你轉換(用於查詢的目的)的用戶名在表中以大寫字母,然後與您想要的大寫版本進行比較,使您的查詢不區分大小寫。
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
Thanx夥計,它幫助! – user1607019 2012-08-17 14:02:10
之前做對比,使用功能strtolower()
兩個變量
我試過了...但是後來我用SELECT搜索暱稱,我沒有找到暱稱,所以我無法用巡迴功能檢查它... – user1607019 2012-08-17 13:57:16
首先從查詢中拉出暱稱,然後比較結果。您需要兩個查詢才能完成註冊。第一個查詢是用於檢查名稱的「SELECT」,第二個查詢是用於添加已驗證(並且安全)的新用戶名的「INSERT INTO」。 – Sablefoste 2012-08-17 14:13:29
可以定義在SELECT
查詢
SELECT * FROM `table` WHERE LOWER(`Nickname`) = LOWER($nickname)
但是取決於你整理*_ci
不區分大小寫或區分大小寫的_cs
。如果你有*_ci
你沒有什麼可擔心的。
首先,用戶名應該是唯一的,不區分大小寫;請在數據庫中將用戶名字段Collation設置爲utf8_unicode_ci或utf8_general_ci。
然後運行您當前的查詢。
SELECT * FROM users WHERE username = '$_var'
假設您指的是大寫和小寫的混合。例如,paul,Paul,PAUL,pAUL應該在數據庫中視爲單一名稱。
然後,你應該使用這個SQL查詢來檢查,如果該名稱已存在:
SELECT * FROM table1 WHERE LOWER(table1.nickname) = LOWER('PaUl')
這將在列「暱稱」數據轉換爲小寫和轉換「保羅」執行降低前平等檢查。
- 1. PHP註冊腳本
- 2. WordPress - 通過註冊過程從暱稱設置顯示名稱
- 3. 簡單的PHP註冊腳本
- 4. PHP腳本的域名註冊
- 5. Servererror 500 php的註冊腳本
- 6. PHP註冊腳本不工作
- 7. PHP註冊腳本 - 插入數據
- 8. preg匹配註冊腳本php
- 9. Joomla 3.0註冊用戶與PHP腳本
- 10. 提交表單與相同的名稱到一個PHP腳本?
- 11. 註冊腳本多次
- 12. ASP.NET Ajax腳本註冊
- 13. ScriptManager.RegisterClientScriptBlock註冊腳本兩次
- 14. 自動註冊腳本
- 15. 暱稱爲DatabaseID
- 16. COM OCX註冊 - 2個具有相同名稱的DLL
- 17. 試圖註冊具有相同名稱的兩個視圖ProgressBarAndroid
- 18. HTML/PHP相同的頁面腳本
- 19. 連續執行相同的php腳本
- 20. PHP OpenID geting暱稱和電子郵件
- 21. PHP註釋腳本
- 22. 通過ScriptManager的註冊腳本
- 23. 更改註冊表的腳本DWORD
- 24. 簡單的自由儲備PHP腳本註冊表格
- 25. 使用我的PHP註冊腳本時遇到困難
- 26. 使用PHP註冊腳本的密碼錯誤
- 27. 註冊腳本代碼中的PHP「else」和「if」
- 28. 用PHP註冊MySQL的用戶註冊
- 29. 註冊FilterRegistrationBean兩次相同類型
- 30. django表單 - 註冊用戶腳本
'單詞是相同的單詞只是不同的字母'這是什麼意思? – xdazz 2012-08-17 13:38:29
我認爲他的意思是不同的情況下,沒有不同的信件 – andrewsi 2012-08-17 13:39:26