簡體   English   中英

在將字符串插入 mysql 表之前,我應該如何格式化我的字符串?

[英]How should I format my string before inserting it into a mysql table?

所以我正在創建這個應用程序來存儲有關細節的電影,並且一切正常,直到我將我的操作系統從 Mac 更改為 Ubuntu。

用戶發布有關電影的詳細信息,PHP 腳本將其插入表格; 所以,在一個非常基本的層面上:

$description = $_POST['description'];

mysql_query("insert into film (description) values ('$description')"); 

編輯:有時有效,有時無效-我假設它與我插入的引號和變量(我正在輸入的電影描述)有關。 描述列的描述是文本。 當我輸入沒有標點符號的隨機內容時,它會起作用。

編輯:輸入真實數據,例如對 Monsters Inc. 的描述。在一個沒有人類的怪物城市中,Monstropolis 以該市的電力公司 Monsters, Inc. 為中心。 Monsters, Inc. 可愛的知己、堅韌的大型、毛茸茸的藍色龐然大物,名叫 James P. Sullivan(AKA 更為人所知的是 Sulley)和他的獨眼巨人俏皮話最好的朋友,一只大眼睛的矮個子、綠色怪物,Mike Wazowski 發現會發生什么當現實世界以一個被稱為“Boo”的 2 歲女嬰的形式與他們的世界互動時,她一天晚上不小心與 Sulley 潛入了怪物世界。 現在輪到 Sulley 和 Mike 把 Boo 送回她的門前,尤其是兩個邪惡的惡棍,比如 Sulley 的主要對手,一個像變色龍一樣可怕的 Randall(Boo 非常害怕的怪物),他有能力改變他的皮膚顏色和 Mike 和 Sulley 的老板 Waternoose 先生,Monsters, Inc 的董事長兼首席執行官

不起作用,但我不確定是什么“破壞”了它 - 即它是雙引號還是括號。

你應該看看mysql_real_escape_string

基本上 - 你需要確保你的字符串中沒有任何字符可以弄亂 SQL 查詢。

字符串是否在界限內? 例如,如果您有一個 varchar(25) 字段並且您的字符串是 124 個字符,那么您就有問題了。 另外,檢查字符串的編碼。 驗證您的輸入。

接下來,使用mysqli_real_escape_string()進行清理。 所有輸入都是邪惡的,您已經打開了您的應用程序,導致 SQL 注入攻擊。

暫無
暫無

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

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