我有一个脚本可以让我替换数据库中的值。
当我使用这个时:
$search[] = ("\\");
$sql[$handle]['sql'] = 'UPDATE '.$table.' SET '.$field.' = REPLACE('.$field.',\''.$search[$i].'\',\''.$replace[$i].'\')';
我收到以下错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行 ''\')' 附近使用的正确语法
我知道这可能只是转义反斜杠的问题,但我已经尝试了一切(更改为双引号、转义、使用字符代码、utf 8 编码/解码等,但仍然没有运气。
请注意,其他值效果很好(我有一个 $search[] 值列表)
最佳答案
因为 "\\"
创建字符串 \
,因此普通 SQL 是 REPLACE('...,\')
,即一个错误。使用:
$search[] = ("\\\\");
关于php - 替换语句中的反斜杠 - 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12389254/