簡體   English   中英

PHP查詢不返回帶有varchar的行

[英]Php query returns no rows with varchar

我有一個mysql表,其中用戶列是varchar。

這適用於int類型

$result = mysql_query("SELECT name FROM users WHERE id='$id'");

但是,當我嘗試匹配varchar時,什么也不會返回。

$result = mysql_query("SELECT name FROM users WHERE user='$username'");

我試圖剝離的價值,仍然沒有。

有什么建議么?

我通常使用這樣的東西。 (加上一些消毒)

$username = strtolower($username);
$result = mysql_query("SELECT name FROM users WHERE LCASE(user)='{$username}'");

無論用戶如何鍵入相同的大小寫,都將為您提供用戶名。

由於您使用的是=因此必須完全匹配。 否則,您將使用LIKE

我上面提供的代碼將返回用戶名的完全匹配。 這段代碼會將$username強制全部小寫,然后我們可以使用LCASE對MySQL執行相同的操作。 現在您可以進行完全相同的匹配。

您可能遇到的問題是userNameUserName甚至與UsErNaMe不相同。 確保當您進行完全匹配時,大小寫也相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM