MySQL报价,双引号乱七八糟

时间:2013-12-29 15:58:09

标签: javascript mysql

我正在尝试将内容插入MySQL,它看起来像这样:

表格名称为foo 列是:

     id INTEGER,
     name VARCHAR(50),
     content VARCHAR(255),
     url VARCHAR(255)

当我尝试插入在其中包含引号和双引号的字符串时出现问题,并且必须完成转义,因为在将字符串插入MySQL时需要用单引号括起来。

如何转义以下文字?

'<div><a href='http://www.ynet.co.il/articles/0,7340,L-4391031,00.html'><img src='http://www.ynet.co.il/PicServer3/2013/06/11/4677612/AP0AMR108-Main-2013-05-25T16-54-20.070Z239775_a.jpg' alt='צילום: AP' title='צילום: AP' border='0' width='116' height='116'></a></div>בית המשפט העליון אישר בהחלטה תקדימית לחיילים ושוטרים להצביע בבחירות - לראשונה מאז שנות ה-70. האיסלאמיסטים זעמו על הפסיקה בעוד הליברלים ואנשי האופוזיציה בירכו: "יש מדינות שמעניקות לאנשי הצבא שלהן להצביע בבחירות ובהם דרום אפריקה, ברזיל, הודו, רוסיה, ארצות הברית, ואפילו ישראל"' 

4 个答案:

答案 0 :(得分:0)

你只是为了它周围的东西而逃避任何字符串。因此,如果你想在这一个周围加上双引号,你必须只保护里面的双引号。

答案 1 :(得分:0)

您可以使用\(也称为转义字符)来转义引号。看一下展示可用转义序列的this page

答案 2 :(得分:0)

您可以使用反斜杠转义引号:

insert into foo (id,name,content,url) values (0, 'test123', '<div id=\'test\'>ת"\א היא עיר מצוינת</div>', 'http://www.cnn.com')

您也可以使用相反的引号:

insert into foo (id,name,content,url) values (0, 'test123', "someContent's", 'http://www.cnn.com')

以下是使用WebSQL参数化查询的方法:

transaction.executeSQL('INSERT INTO foo (id, name, content, url) VALUES (?, ?, ?, ?)',
    [0, 'test123', '<div id=\'test\'>ת"\א היא עיר מצוינת</div>', 'http://www.cnn.com'],
    callbackfn);

答案 3 :(得分:0)

试试这个:

insert into foo (id,name,content,url) values (0,'test123','someContent\'s','http:\/\/www.cnn.com')