-1

我不知道我的网站发生了什么。我有一个 PHP 网站并更新内容我有一个管理面板,它在英语中运行良好,但是当我尝试在更新查询的帮助下使用 PHP 用其他语言(如法语)更新内容时,我得到了一个白页,这意味着查询未成功执行。或如下错误。

当我像这样更新内容时,“Notre équipe de spécialistes saura vous accompagner tout au long des mandats dans un soucis constant d'efficacité”。

我收到这样的错误:“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在 'efficacité 附近使用的正确语法。Nos 专家 ont oeuvré au sein de différentes agences p' 1"

我知道这是不同编码的问题,但我无法解决这个问题。

一些更奇怪的事情也发生了。我的网站位于本地服务器、演示子域和生产服务器上。其他语言更新的内容正在处理中,但在生产网站上它给出了一个空白页面。表示查询未执行。

请快速告诉我如何解决这个问题。

4

1 回答 1

1

您有一个 SQL 注入漏洞,并且'ind'efficacité 破坏了您的查询。例如

INSERT INTO people (names) VALUES ('Miles O'Brien');
                                   ^-- start of string
                                                 ^---supposed end of string
                                           ^--- actual end of string

数据库将其解释为:

Miles O- 放入名称字段的字符串
Brien- 一些未知的 SQL 关键字/字段名称

必须正确转义进入查询的所有数据,例如

   ... VALUES ('Miles O\'Brien');
                       ^--- escape

或者更好的是,使用允许占位符和/或准备好的语句的更好的数据库库。

TL;DR:这不是编码问题。

于 2013-08-30T19:52:47.040 回答