2

ギャラリーの PHP スクリプトで、テーブルを更新する必要があります。
次のコードを使用していますが、コードは何もしません。

mysql_query(' "update gallery_photos set photo_caption = replace(photo_caption,"\\\'","\'") "');

それを機能させる方法、または正しい方向に向ける方法を教えてもらえますか?

4

3 に答える 3

4

試す

mysql_query("UPDATE gallery_photos SET photo_caption = REPLACE(photo_caption,'\\\'','\'') ");

エスケープと ' と " が間違った方法で混在しています。

問題は、アンエスケープが 2 つあります。PHP で 1 回、次に MySQL で 1 回です。

したがって'\\\\'、PHP では "\\" になり、MySQL では "\" になります。

そして今、私は StackOverflow でさえそれを台無しにしてしまうことを知りました。だから"\\"ここに書くために私は書かなければならなかった"\\\\":)

于 2013-07-11T05:32:33.953 に答える
1

これをやってみてください

$que = mysql_query("select * from gallery_photos");
$fet = mysql_fetch_object($que);
$pc  = $fet->photo_caption;
$pc2 = replace($pc,"'\\\'","'\'") ;

$update = mysql_query("update gallery_photos set photo_caption='$pc2'");

if (!$update) {
  echo "Error : <br>";
  echo "".mysql_error()."";
}else {
  echo "Updated ..!!";
}
于 2013-07-11T07:35:59.527 に答える