$field=str_replace("'", "\\\", $field);
最近项目中,Oracle数据库在插入一个很普通的摘要中文内容时,莫名报错,而且数据并未插入到表中。
经过调试,最好发现是因为中文摘要内含有单引号,影响到了oracle insert的正确执行。
为此,就必须在html中用js对数据进行处理,或者PHP接收表单数据后,进行查找替换。
这里我是在PHP中进行处理的,由于oracle数据库转义的方法是特殊字符前再加一个单引号,所以PHP如此实现转换:
$relatedData['ar_desc'] = str_replace("'", "''", $array[$key]['AR_DESC']);