php插入含有特殊符号数据的处理方法

网络编程 2025-03-24 06:50www.168986.cn编程入门

一、发现问题

当我们尝试使用如下代码向MySQL写入数据时:

```php

mysql_query("update table set `name`='make's'");

```

如果数据中含有特殊字符,比如上面的例子中的单引号('),就可能会出现数据无法正常入库的情况。这时,我们通常需要使用addslashes()这个函数来转义数据中的特殊字符。

二、处理方法

当magic_quotes_gpc = On时,使用addslashes()处理后的数据在数据库中将以\'的形式保存。如果此时直接输出数据,会发现比预期的内容多了一个反斜杠(\)。这时,就需要使用stripslashes()函数,它能够将反斜杠去掉。

简而言之,addslashes()和stripslashes()是一对互补的函数。使用addslashes()会在数据中添加一个反斜杠(),而stripslashes()的作用就是去除这个反斜杠。

那么,我们什么时候该使用这两个函数呢?

不管magic_quotes_gpc是On还是Off,我们在添加数据时都建议使用addslashes()函数。当magic_quotes_gpc = On时,必须使用stripslashes()函数;而当magic_quotes_gpc = Off时,则不能使用stripslashes()。

上一篇:PHP中call_user_func_array回调函数的用法示例 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by