Php 使用\';有时,但不总是
最初,当我尝试添加一个包含单引号的字符串时,数据库用于返回错误消息 因此,我在查询之前向该字符串添加了addslashes 添加addslashes后,数据库中的字符串如下所示。 由于某些原因,反斜杠并不总是插入 在经历了这个场景之后,请给我一个处理报价的方法 案例1:使用Addslashes 我已经有了一个庞大的代码,如果我在插入之前使用addslashes,我还必须在每个结果中选择要删除的查询\之后使用stripslashes。这将导致我的控制器和型号在Codeigniter中发生很多变化 案例2:没有添加斜杠 如果我不使用addslashes或mysql,我的数据库将不允许我存储单引号 我将字符集更改为utf8mb4\u general\u ci,但仍然没有用。。 我还确保config.php中的字符集也包含utf8mb4字符集Php 使用\';有时,但不总是,php,mysql,codeigniter,stripslashes,addslashes,Php,Mysql,Codeigniter,Stripslashes,Addslashes,最初,当我尝试添加一个包含单引号的字符串时,数据库用于返回错误消息 因此,我在查询之前向该字符串添加了addslashes 添加addslashes后,数据库中的字符串如下所示。 由于某些原因,反斜杠并不总是插入 在经历了这个场景之后,请给我一个处理报价的方法 案例1:使用Addslashes 我已经有了一个庞大的代码,如果我在插入之前使用addslashes,我还必须在每个结果中选择要删除的查询\之后使用stripslashes。这将导致我的控制器和型号在Codeigniter中发生很多变化
有什么有效方法的建议吗?我找到了解决方案,希望这能对其他人有所帮助 将MySql更新到5.5.3+并使用字符集utf8mb4\u general\u ci。。确保 数据类型是长文本的 就这样。据我所知,不需要使用addslashes和stripslashes 它还支持表情符号的
谢谢如果您激活了活动记录,codeigniter不会自己添加斜杠吗?默认情况下,如果任何字符(如单引号、反斜杠等)作为数据的一部分出现,则使用“活动记录”语句句柄。您甚至不需要对数据调用
mysql\u real\u escape\u string
。您可以尝试$this->db->escape(),$this->db->escape\u str(),$this->db->escape\u like\u str(),但问题仍然存在。我需要更改任何配置吗?