[英]Double and Single quotes on Insert SQL
我正在嘗試使用Javascript和SQLite將動態元素插入表中,當其中一個值具有單引號和雙引號時出現問題,例如-7'英寸的乙烯基-我知道該示例沒有意義,但此應用程序的用戶在表格中插入了各種廢話。
我的查詢到處都會弄亂“',我的問題是:是否存在某個函數或某些東西可以使我使用所需的真實字符串而不破壞所有內容?
這是代碼:
$.each(data, function(i, item) {
tx.executeSql("INSERT INTO articulo (codart) VALUES (" + validate(item.CODART) + ")");
});
function validate(item){
if(item == null){
return null;
}else{
return "'" + item + "'";
}
}
您可以通過將單引號加倍來轉義單引號,但僅使用參數會更容易:
tx.executeSql("INSERT INTO articulo (codart) VALUES (?)", [validate(item.CODART)]);
雙引號應該不會造成問題。 嘗試用兩個單引號替換單引號。
將該功能更改為:
function validate(item){
if(item == null){
return null;
}else{
return "'" + item.replace("'", "''") + "'";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.