我正在使用JavaScript API从Google Feeds API中获取一些内容,并尝试将它们插入到Phonegap应用中的SQLite数据库中。
但是由于获取的内容字符串中没有转义和特殊字符,我得到了很多语法错误。因为内容字符串包含HTML代码及其属性及其值在引号内。
任何人都可以帮我解决这项任务吗? 有人可以建议我使用诸如addslashes,htmlentities,htmlspecialchars之类的PHP函数吗?让我知道这种插入的正确方法。只有JS。
例如:
插入变量“content”是一个带有<div id="test" style="color:#000;">I'm tall and I'm "26" now.</div>
的字符串,需要将其插入到列中,html内容没有任何错误。
var content = <div id="test" style="color:#000;">I'm tall and I'm "26" now.</div>
tx.executeSql("INSERT INTO MyTable(id, Content) VALUES ('1',content)");
变量“content”具有单引号和双引号,并且它还可以包含许多特殊字符。因此,在插入数据库之前必须格式化内容变量。
答案 0 :(得分:1)
要在SQL语句中使用任意字符串值,请使用参数:
var content = "!'§$%&/()=?+*~#|<...";
...
tx.executeSql("INSERT INTO MyTable(ID, Name, Content) VALUES(?,?,?)",
[123, "Some Name", content]);
答案 1 :(得分:0)
答案 2 :(得分:0)
可能会低于代码帮助你。
var db = window.sqlitePlugin.openDatabase("Databases", "1.0", "XYZ", 1000000);
db.transaction(function(tx) {
var content = $("#test").html();
tx.executeSql("INSERT INTO MyTable (id, Content) VALUES(?,?)",['1',content], querySuccess, errorCB);
}, errorCB);
<body>
<div id="test" style="color:#000;">I'm tall and I'm "26" now.</div>
</body>