【问题标题】:Html from python to mysql从 python 到 mysql 的 HTML
【发布时间】:2021-10-29 07:23:17
【问题描述】:

我正在尝试使用 Python 脚本将 html 插入 mysql 表。这样我想在我的网站上编辑文章,所以 html 必须是有效的。这是我收到的错误:

mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; 
check the manual that corresponds to your MariaDB server version for the right syntax to use 
near 'n1'>Poniedziałek 30.08.2021r.</p>
<p>
        <b>6<sup>30</sup></b> za zmarłych ro...' at line 1

也许/n/t' 等特殊字符存在问题。不幸的是,我不知道如何解决这个问题。

这是我尝试执行的部分代码:

mycursor.execute("UPDATE `table_name` SET `col_name` = '" + doc_html + "' WHERE `table_name`.`id` = 1")

doc_html 的开头(这是一个字符串变量):

<html>\n<style>\n    p {\n        margin: 0em 0in;\n        font-size: 1em;\n        font-family: "Georgia", serif;\n        color: black;\n        text-align: left;\n    }\n\n    p.n1 {\n        margin: 1.5em 0in 0.25em;\n        font-size: 1.25em;\n        font-family: "Georgia", serif;\n        color: black;\n        font-weight: bold;\n        text-align: center;\n    }\n\n    ol.zbiorowa {\n        margin: 0;\n        font-family: "Georgia", serif;\n    }\n\n    br {\n        line-height: 50%;\n    }\n</style>\n\n\n\n<p class=\'n1\'>Poniedziałek 30.08.2021r.</p>\n<p>\n\t<b>6<sup>30</sup></b> za zmarłych rodziców chrzestnych: za + Janinę Sokołowską i za + Jana Cichonia<br/>\n\t<b>6<sup>30</sup></b> za

请帮忙!

【问题讨论】:

    标签: python html mysql


    【解决方案1】:

    使用参数

    mycursor.execute("UPDATE `table_name` SET `col_name` = &s WHERE `table_name`.`id` = 1",(doc_html,))
    

    你可以避免处理可能导致该问题的字符

    【讨论】:

    • 现在我收到这样的消息:mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement
    • 好的。当我使用mysql.connector 时,我必须插入%s 而不是?。非常感谢。这是一个很好的教训。
    • 与您有不同的查询相比,当您 have instead of ,(doc_html,)` 添加更多变量而不添加 ?例如查询 id
    猜你喜欢
    • 1970-01-01
    • 2013-12-28
    • 2011-07-23
    • 2018-03-29
    • 2015-01-24
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多