7

我想使用单引号值运行以下查询。

INSERT INTO web_camp_keywords (web_id, keyword) VALUES (195, 'abc'hotels')

我只是想增加abc'hotels价值。我使用了反斜杠,但它不起作用。

INSERT INTO web_camp_keywords (web_id, keyword) VALUES (195, 'abc\'hotels')

我该如何解决这个问题?

4

2 回答 2

8

您可以用另一个单引号转义单引号。

INSERT INTO web_camp_keywords (web_id, keyword) 
VALUES (195, 'abc''hotels')

但我个人认为您应该使用带有绑定参数的准备好的语句

除此之外,使用带有绑定参数的准备好的语句是帮助防止SQL 注入的最简单方法之一,SQL 注入是 Web 应用程序中安全漏洞的最大来源。

于 2012-08-08T05:22:18.703 回答
2

就像 Chris Moutray 和其他人提到的那样,最好使用 pdo 和准备好的语句。这是一个关于如何准备语句、为语句提供值然后执行它的示例。我忽略了连接。

$statement = $pdo->prepare("insert into web_camp_keywords (web_id, keyword) values (:id, :keyword)");
$statement->bindValue(':id', 195);
$statement->bindValue(':keyword', "abc'hotels");
$statement->execute();
于 2012-08-08T05:58:19.350 回答