使用richtext是我的新手,但用户必须能够插入图片或更改文字。所以我正在使用ckeditor,但我遇到了麻烦。 当用户写入富文本时,他可以使用撇号和彗差来编写内容。 我将用一个例子。让我们想象一下我想写:
It's quite difficult to open a picture, a file blablabla
问题在于插入查询看起来像那样
Insert into tab (txt1,txt2) values ('value1','value2')
如果用户使用逗号或撇号,则无法正确插入richtext。此外,我在MySQL数据库中使用longtext
来存储文本。
我的问题是:
我遇到的问题是
Erreur SQL !INSERT INTO detail_article(ID,Problem,Num,URL,Solving,Description) VALUES(16,'Chrome : clearing datas',4,'','
\r\nCHROME CACHE CLEARING :
\r\n\r\n
blablabala
\r\n\r\n
In the 'windows explorer', do the fallowing statment....blablabla
\r\n','')
这是我的文字样本,但我认为问题是由引号和昏迷引起的
答案 0 :(得分:0)
您的问题必须来自您的PHP脚本,它似乎不会逃避它发送的数据。
如果它不使用包含逗号和撇号的richtext,那么发送到您的数据库的查询可能无法逃脱。
例如,如果您有这样的内容:
$value2 = "Catch',em all";
$value1 = "Hello boys";
如果您尝试将其存储在数据库中而不转义它,那么生成的SQL查询将如下所示:
INSERT INTO tab (value1, value2) VALUES ('Hello boys', 'Catch', em all);
由于语法不正确,这将是一个不正确的SQL语句。
如果你使用像PDO :: quote()这样的转义方法,你的输入将以安全的方式插入,不会产生任何错误(语法)。
确保您的脚本确实逃脱了您使用PDO :: quote()(https://php.net/manual/fr/pdo.quote.php)或mysqli_real_escape_string(http://php.net/manual/fr/mysqli.real-escape-string.php)
发送的参数