0

我有一个脚本可以让我替换数据库中的值。

当我使用这个时:

$search[] = ("\\");

$sql[$handle]['sql'] = 'UPDATE '.$table.' SET '.$field.' = REPLACE('.$field.',\''.$search[$i].'\',\''.$replace[$i].'\')';

我收到以下错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ''\')' 附近使用正确的语法)

我知道这可能只是转义反斜杠的问题,但我已经尝试了一切(更改为双引号、转义、使用字符代码、utf 8 编码/解码等,但仍然没有运气。

请注意,其他值运行良好(我有一个 $search[] 值列表)

4

2 回答 2

2

因为"\\"创建 string \,所以普通 SQL is REPLACE('...,\'),这是一个错误。采用:

$search[] = ("\\\\");

看看mysql 字符串文字

于 2012-09-12T13:29:15.297 回答
0

用这个:

$search[] = ("{\}");

这将搜索 \

或者

$search[] = ("{\\}");

如果你想搜索 2 个反斜杠....

于 2012-09-12T13:28:19.510 回答