[英]In PHP, how can I escape single quotes in my string before inserting into a MySQL table?
[英]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.