在线工具 在线编程 在线白板 在线工具 在线编程 在线白板

PHP 输出 有单引号的 字符串

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

2024-10-15 10:17:49

方法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";
泣绕忪迎笑

2024-10-15 11:58:26

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

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

2024-10-15 12:18:04

可以转义一下,或是把单引号替换成\'或是用htmlentities()函数处理一下!
我是打不死的小强

2024-10-15 08:39:43

用htmlentities()函数处理你所查询的数据