首页 > 解决方案 > 包含大量 HTML 数据的 SQL UPDATE 语句

问题描述

我有一些自动化的工作流程,其中包括通过 SQL 更新包含 HTML 标记的列。

基本的 SQL 语句如下所示:

UPDATE content SET bodytext = '<div class="one two three">Here comes a whole lot of HTML with all special chars and double quotes " and single quotes ' and empty lines and all possible kind of stuff...</div>' WHERE pid = 10;

有没有办法让 MariaDB 或 MySQL 在 SQL(没有 PHP)中自动转义?

标签: sqlreplaceescaping

解决方案


我建议使用准备好的陈述。通过这种方式,您可以将语句与其参数分开,并且不需要关心普通 SQL 中所需的额外转义。

使用 PHP 的 MySQLi 驱动程序中提供的功能将简化该过程:

https://www.w3schools.com/php/php_mysql_prepared_statements.asp

在普通 SQL 中也可以使用准备好的语句,但我不确定手动执行是否值得麻烦

https://dev.mysql.com/doc/refman/8.0/en/sql-prepared-statements.html


推荐阅读