2017-03-05 95 views
1

我有一個輸入文本的表單,我設置風格爲文本轉換:大寫 ,當我輸入該輸入時,我得到了一個大寫這個詞的第一個字母。HTML:輸入文字轉換:大寫不會保存在數據庫中大寫

但是,當我將它保存到數據庫並檢索它時,所有字母都是小寫字母,我查看了我的數據庫,保存數據也是小寫。

爲什麼它以小寫保存,即使我將輸入樣式設置爲text-transform:capitalize;

確實mysqli_real_escape_string該怎麼辦?

有誰知道爲什麼會發生這種情況?

+0

控制檯變量存放在MySQL之前,如果變量是在利用則必須是你的分貝。 –

+0

@KalpeshSingh你是什麼意思控制檯變量? –

+0

你想要它的代表性目的,那麼不要打擾什麼數據庫保存。如果你想保存在數據庫中大寫,然後檢查你保存這個輸入的JS/PHP變量,然後將它添加到數據庫。 –

回答

1

嘗試顯示與輸入的值當它之前寫入發送到服務器它到DB。我會假設它也是小寫字母,但首先要確認。如果服務器在之前檢索值時它全部爲小寫,則將其保存到數據庫,然後在將值傳遞到服務器時不保留文本轉換屬性。

mysqli_real_escape_string轉義字符串中的特殊字符以便在SQL語句中使用,同時考慮連接的當前字符集。

所以我會假設轉義字符串與它沒有任何關係。

在PHP(或其他服務器端語言),你能保證值與類似功能寫入DB前資本化:ucfirst

+0

tnx的答案。我發現'ucfirst()'只有第一個字母,而不是字 例如:人民公園。我想要的是每個單詞的第一個字母會像人民公園一樣大寫。 –

+0

沒關係,我發現它ucwords() –

+0

很高興聽到它!如果我能回答你的問題,請接受答案。 – Isaiah

2

css並沒有改變它的值只是改變外觀..你很困惑,因爲在大寫......價值和外觀世界各種碰撞。

要理解爲什麼它不應該工作,你可以認爲.. 如果你只是粗體文本或強調它..它沒有保存的方式是正確的?

所以CSS只是改變外觀...你將不得不通過其他編程語言再利用字符串保存到數據庫之前

+0

哦..。這就是爲什麼。對不起。我認爲這將是大寫 –