PHP 输出 有单引号的 字符串

我从数据库里读出几行记录,但是这行记录中有个字段的值是中间带有单引号的字符串,在读出到页面中的时候,单引号前面的字符能读出来单引号后面的字母就读不出来了。求助啊,谢谢

方法1:
单引号前面加\

insert into table value (null,‘\'value’);

方法2:
用双引号引起单引号

INSERT INTO table VALUE (NULL," 'njkl");

你在写入或者读取 或者从数据库中读出来以后,显示在网页上
都可以用这样的方法
加\
或者
双引号引起单引号追问

谢谢,现在的问题是,我的这个值是用变量表示的,不知道在单引号的具体位置,我该怎么表示?

追答

可以看看代码吗?

追问

while($row = mysql_fetch_object($query)) {

echo "name'>";
echo ......
}

这个name 字段的值在数据库里我看到是有单引号显示的,比如 LI’ONG,但是从这里显示出来的就是LI了。

追答

echo "name".">";

这样试试。

追问

这样连值也取不到了,还是谢谢你

追答

好吧。
我在自己机器上试过了
应该不能这样
可能要在写入数据库的时候就加一个\吧
呵呵

追问

不好意思,现在试了echo "name".">";就对了,谢谢,能告诉我原因吗?我本来是这样写的 echo "name'>";

追答

echo "name".">";
额。这样居然对了
那天我还特意建了个数据表写了个‘的字符
没输出来
echo "name".">";
你看echo以后的那句是双引号引起来的
到value=这个地方结束 . 作为连接符,用于连接后面的双引号
而后面的一个双引号引起来的部分就是你要输出的值
“ ” 引起的单引号能输出

就这样!

追问

太感谢你了,不过为什么不可以这样用双引号?还要加一对双引号,echo "name">";

追答

echo "name">";
这样的话。echo“后面的双引号对应的是value="这里的双引号 $row->name 旁边就是空的。
没有连接符
就相当于
echo "123"12"13";

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-26

        PHP输出有单引号的字符串可以放在双引号里面,输出有双引号的字符串可以放在单引号里面,例子代码:

echo "这个字符串的中间有单引号(')\n";
echo '这个字符串的中间有双引号(")';

第2个回答  2012-01-10
可以转义一下,或是把单引号替换成\'或是用htmlentities()函数处理一下!
第3个回答  2012-01-10
用htmlentities()函数处理你所查询的数据
相似回答