我想使用单引号值运行以下查询。
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')
我该如何解决这个问题?
我想使用单引号值运行以下查询。
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')
我该如何解决这个问题?
您可以用另一个单引号转义单引号。
INSERT INTO web_camp_keywords (web_id, keyword)
VALUES (195, 'abc''hotels')
但我个人认为您应该使用带有绑定参数的准备好的语句。
除此之外,使用带有绑定参数的准备好的语句是帮助防止SQL 注入的最简单方法之一,SQL 注入是 Web 应用程序中安全漏洞的最大来源。
就像 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();