作者NOXI (EZway)
看板PHP
标题[请益] textarea无法存进mysql的text??
时间Sat Oct 29 18:00:43 2011
我用PHP5 Mysql5.5
1.我在Mysql建立一个table,内涵一个column格式是text
2.我用a.php post textarea的资料到b.php (已经连结到mysql)
$textarea=$_POST["textarea"];
3.我试着将textarea的资料写入Mysql
$add=insert into boards values('$textarea');
mysql_query($add);
我的疑问:
如果我输入的资料是i'm xxx那sql指令会因为'符号的关系出错是要如何避免这点呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.212.195
1F:→ gname:1.把$add印出来看 2.看 error message 10/29 18:08
2F:→ NOXI:$add能印出textarea的资料 10/29 18:10
3F:→ NOXI:感谢大大,我知道为什麽了..因为我输入的资料是I'm xxx 10/29 18:14
4F:→ NOXI:有一个'符号...害我的mysql指令出错 10/29 18:14
※ 编辑: NOXI 来自: 118.169.212.195 (10/29 18:16)
※ 编辑: NOXI 来自: 118.169.212.195 (10/29 18:17)
5F:→ yade:用看看 stripslashes()? 10/29 18:22
6F:推 mervynW:htmlspecailchar 10/29 21:37
7F:→ buganini:纯不推楼上 10/29 22:56
8F:→ buganini:$add='insert into boards values ('.mres($txt).')'; 10/29 22:58
9F:→ buganini:mres()为mysql_real_escape_string() $txt为$textarea。 10/29 22:59
10F:→ kerash:如果是用上一篇文章的 mysqli_query 好像可以不用 mres() 10/29 23:29
11F:→ kerash:算是一个好处..但是老实说我很少看到用mysqli的QQ 学识浅薄 10/29 23:30
12F:→ buganini:其实应该推mysqli 毕竟官方都说要丢掉mysql了 10/29 23:32
13F:→ buganini:其实看php.net的example就很有帮助啦 10/29 23:32
14F:→ kerash:由於是基於mysql的改善版,应该大多数函式是差个 i 而已 10/30 00:06
15F:→ kerash:可能之後在应用的习惯上需要改(不用特别过滤字元了) 10/30 00:06
16F:→ kerash:此外 mysqli 只有在 php5 可以跑的样子 10/30 00:06
17F:推 whatai:过滤字元的动作本身就很重要 不会因为sql可以接受 10/30 00:17
18F:→ whatai:某些特殊字元就可以不去过滤 10/30 00:17
19F:推 whatai:将' " `这些字元转成 &qout; 之後echo会当成html的语法 10/30 00:21
20F:→ MOONRAKER:mysqli不错,跟旧的mysql函数几乎一一对应 10/30 03:42
21F:→ MOONRAKER:新手仍然可以看老式的教学,然後照着在mysqli上做 10/30 03:43
22F:推 whatai:其实如果只为特殊字元没必要去学mysqli 10/31 00:18
23F:→ whatai:而且以後真的出去工作 要应用时见得会提供你mysqli的环境 10/31 00:19
24F:→ whatai:除非你愿意把现有的资料库还有网页 api等等重新包成mysqli 10/31 00:20
25F:→ whatai:过滤字元 tag 一直都是很重要的工作 例如防护XSS sql注入 10/31 00:22
26F:→ MOONRAKER:不见得会提供?我怎麽不知道mysqli还要另外装? 10/31 02:50
27F:→ MOONRAKER:现在谁的php老到没有mysqli?都pdo了咧 10/31 02:51
28F:→ MOONRAKER:sanitization捡framework里面的来用,何必自己做轮子 10/31 02:52
29F:推 kerash:有啦,如果是 php5 以下的好像就不能跑了XD... 10/31 08:51
30F:→ MOONRAKER:还在5以下不容易吧 :| 10/31 09:08
31F:→ buganini:应该很多公司还在用老code,阿不过这种公司就... 10/31 10:43
32F:→ kerash:别怀疑 .. 我公司的中文网站还是php4 .. 我之前才要求更新 10/31 13:30
33F:→ kerash:不过一更新整天公司的 mail 也会跟着停摆..所以还没更新 10/31 13:30
34F:→ shadowjohn:还很多地方还在用php4...但别小看他们整理的东西XD超强 10/31 13:36
35F:→ herb123456:推mysqli跟pdo,与资料库连结还是包成class才方便... 11/01 23:15
36F:→ shadowjohn:只推pdo,有pdo当然用pdo XD 11/01 23:35