[英]Regex Replace different kinds of single quotes
那些喜歡在MySQL中造成破壞的討厭的單引號,似乎有表兄弟!!! 我們擁有一個系統,用戶可以在該系統上從客戶端進行作業更新,或者從電子郵件中粘貼內容,或者從幾乎任何地方復制和粘貼,每次我們提供一個單引號時,都會彈出另一個報價。 這是不同的: ' ´ ' `
<-
由於我的正則表達式非常弱,我的開發人員說我應該使用以下命令刪除它們:
return Regex.Replace(oldText, @"[’´'`""]", @"");
我不喜歡它,因為它不專業,要刪除所有單引號。 正如許多論壇所建議的,我要做的只是將單引號加倍。 這是正確的嗎?
return Regex.Replace(oldText, @"[’´'`""]", @"''");
盡管這樣做是因為在他的DAL中,他用單引號構造了自己的插入語句:
sql.Append(",`to_complete_by`='" + obj.toCompleteBy + "'");
通過將^^
更改為此,我是否可以避免此錯誤?
sql.Append(",`to_complete_by`=\"" + obj.toCompleteBy + "\"");
或正則表達式替換首選方法?
如果使用的是不支持預准備語句的舊版MySQL,則至少應利用以下事實:現代數據庫接口可以模擬數據庫本身不支持的此類功能。 在您的情況下,這並不是潛在的性能提升,而是通過將語句語法和值表示分離來提高安全性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.