• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP获取值以后如何格式化

php 搞代码 3年前 (2022-01-24) 10次浏览 已收录 0个评论

PHP获取值以后怎么格式化
数据库里面有一个表,两个字段

id int (5)

content text

然后 form 的表单是这样的

$content=$_POST['content'];<br />$sql="insert into dbname (`id`,``) values(null,'$content')":<br /><br /><br /><br /><textarea name="content"><br /><br /></textarea><br /><br />

现在的问题是如果我在这个表单里面如果写很多类似符号,比如单引号,双引号,或者!@#$$%这样的东西就会提交失败,我吧sql打印出来插入也会失败,应该是起来冲突了,因为我在插入的值的时候用了单引号, 如果提交的值也有单引号,应该就是不知道

——解决思路———————-
插入前先轉義
只需要轉一次
$content = mysql_escape_string($_POST[‘content’]);
$sql = “insert into dbname (`id`,`content`) values(null,’$co/本文来源gaodai#ma#com搞*!代#%^码网%搞代gaodaima码ntent’)”:

參考:http://php.net/manual/zh/function.mysql-escape-string.php

——解决思路———————-
楼上已经解答完了
这里普及一下:
mysql_real_escape_string 主要是为了 数据库防注入、以及语句正确性等需要,将读写语句中的字符进行了转换;
但最终写入到数据库中的内容,依旧是你转义前的;所以当你读出来的时候,依旧是原来转义前的内容;
比如,你要在数据库中插入字符串 aaaa”aaaa 但如果写成insert into table values(“aaaa”aaaa”); 语句就出错了,使用mysql_real_escape_string就能转义成 aaaa\”aaaa; 最终语句就变成了 insert into table values(“aaaa\”aaaa”);
但你select * from table 最终得到的内容依旧是 aaaa”aaaa


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP获取值以后如何格式化

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址