0

私は奇妙なものを持っています-私はあるCMSから別のCMSにいくつかのデータを移植しています。どちらもLAMPで実行されます。

古いCMSでは、データはDBにスラッシュを付けて保存されていました。

例:

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を使用してすべてのデータを引き出し、元に戻すことを試みましたが、スラッシュがデータをエスケープすることを期待せずに、私は幸運でしたが、2つのうちの1つで機能するようです。行が、クエリが壊れます。

何か案は?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 に答える