gpt4 book ai didi

尽管使用 mysql_real_escape_string,但 PHP MySQL 查询字符串问题

转载 作者:行者123 更新时间:2023-11-29 04:12:55 26 4
gpt4 key购买 nike

以下 SQL 查询:

INSERT INTO `database`.`table` (`param1`, `param2`) 
VALUES (
'Новости Томска – подборка новостей из общественной жизни города, политики, спорта, обзор происшествий, событий.\r\nПолезная информация о недвижимости, авто, финансах, работе и консультации специалистов.\r\nОбъявления по различным тематикам, вакансии томских работодателей. \',
'Томский городской портал, Томск, Портал города Томска, Недвижимость в Томске, Авторынок Томска, Продажа авто в Томске, Работа в Томске, Вакансии, Резюме, Отдых в Томске, Афиша Томска, Новости Томска, Томский форум, Погода в Томске, Томские сайты, Каталог томских сайтов, Частны');

失败并显示错误消息:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Томский городской портал, Томск, Портал гор' at line 1

在 SQL 查询中使用它们之前,我已经在字符串上使用了 mysql_real_escape_string,所以我认为这足以使它们没有错误。

我的数据库设置为使用

utf8_general_ci

作为这些字段的排序规则。

查询可能有什么问题?

最佳答案

您正在转义应该关闭 param1 值(values 子句中的第一个值)的 ':

INSERT INTO `database`.`table` (`param1`, `param2`) 
VALUES (
'...й. \', <= there
'...ны');


您应该删除结束' 之前的\,这样您的查询看起来像这样:

INSERT INTO `database`.`table` (`param1`, `param2`) 
VALUES (
'...й. ',
'...ны');


\ 是转义字符串中的引号所必需的——而不是作为字符串定界符的引号。

关于尽管使用 mysql_real_escape_string,但 PHP MySQL 查询字符串问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5498578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com