0

我有一个奇怪的 - 我正在将一些数据从一个 CMS 移植到另一个。两者都在 LAMP 上运行。

在旧的 CMS 中,数据以斜线形式存储在数据库中。

例子:

Hi. Thanks for looking. It\'s \"awesome\".

旧 CMS 输出时正确显示为:

Hi. Thanks for looking. It's "awesome".

但在新的 CMS 中,它们的相同文本仅存储为以下内容,并在出现引号时处理:

Hi. Thanks for looking. It's "awesome".

我已经直接在mysql上尝试了replace(),但这只是转义了引号,它只是删除了所有引号。然后我试着用php把所有数据拉出来,然后把它放回去,没有做任何事情,希望斜杠能逃脱数据,我会很好,但不是那么幸运——这似乎适用于两个中的一个行,但查询被破坏。

有任何想法吗?我已经有一段时间没有玩过 add/stripslashes 等了。

谢谢

4

2 回答 2

1

在 PHP 中你必须做到

$data = stripslashes($data);
$data = mysql_real_escape_string($data);
于 2010-08-04T16:05:32.047 回答
0

如果您使用 PHP 导入数据,您将需要执行 -

str_replace("'", "''")

在每个条目上。

这就是 MYSQL转义字符串的方式

于 2010-08-04T16:00:40.370 回答