gpt4 book ai didi

php - php replace语句中的单引号即使转义也会返回错误

转载 作者:行者123 更新时间:2023-11-29 06:56:27 25 4
gpt4 key购买 nike

我需要替换我的 mysql 数据库中的单引号,我正在使用脚本来执行此操作。它适用于其他字符,但当涉及到单引号时,它根本不起作用。

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

尝试替换单引号时出现此错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''','')' at line 1)

这是我用来搜索报价的字符串:$search[] = ('\'');

最佳答案

您需要对 $search 进行转义,因为您传递的是单引号 - 所以当它转到 MySQL 时,它看起来像这样:'''。添加这个:

$search[$i] = addslashes($search[$i]);

使用preparing statements会更好以避免转义和 SQL 注入(inject)问题。

关于php - php replace语句中的单引号即使转义也会返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12439036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com