为什么form里的数据不能写入数据库? 本帖最后由 hp_hl112 于 2010-04-27 21:18:52 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这种写法……你就不担心SQL注入么?我猜,id是数字,你插入''是不行的。如果id是auto_increment类型的话,你可以忽略它。 没有报错就是数据库里没数据刚开始学 还不懂SQL注入id的''去掉了也是一样滴 如果删除掉“id”,这页代码没什么问题啊。conn.php 这页的问题吧 你的id是不是整形值(一般情况下,id都被设置为int型),怎么插入时给的是空字符串,还有$_Post不要加引号 我测试了,找到问题了!有两点必须修改,一点建议修改。1、在PHP中,取时间参数是:time(),而不是now(),这是ASP用的。2、在引号符号中"time()"不能被替换,必须用连接符号,或者先赋予参数,例: "(lastdate) values (".time().")" 或者 $nowtime = time(); "(lastdate) values ($nowtime)"3、建议修改。 在“echo "发表成功!";”后面再加一行,写上“exit();” 在 LZ是使用的SQL语句now()函数。是对的。print_r(mysql_error())看看。 $_POST[user]是不是应该改为$_POST['user']?? 这个错误解决起来不难:1.你可以这样解决 把从表单提交来$_POST[user],$_POST[title],$_POST[content] 输出一下 看看输出的结果是不是你想输入的结果 要是一样的话 就说明错误不是在这里。2.我想是你的数据库编码的问题 你试着全输入英文字母看看要是OK 说明错误就在这里。比如说$_POST[content]你输入的是中文 所以你改一下你的数据库编码为bg2312 就OK了3.要是还是不成功的话 就说明你写的不规划,或者某处的顺序写错了。4. $sql="insert into `message` (`id`,`user`,`title`,`content`,`lastdate`) values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())";挺不规划的 还需要完善 这样还不够安全。 去网看看人家是怎么写的。 这样就知道哪里有问题了mysql_query($sql) or die(mysql_error()); 谁用phpmailer做个群发邮件吗? 2个表,如何删除某字段相同的数据,SQL怎么写啊 PHP+JS+SQLserver2000数据库的二级级联菜单 成都公司聘请专职php程序员 一个有一年经验的程序员的苦恼 关于双引号和单引号多层嵌套 像这样的语句怎么样写才更精简。 Cookie到底是用的什么编码方式? 有个问题请教大家 消息提示系统表结构该如何设计 问个可能很白的运算问题 将表单传递过来的值,赋值给SQL语句,分页不能显示?求救
就是数据库里没数据
刚开始学 还不懂SQL注入id的''去掉了也是一样滴
2、在引号符号中"time()"不能被替换,必须用连接符号,或者先赋予参数,例:
"(lastdate) values (".time().")"
或者
$nowtime = time();
"(lastdate) values ($nowtime)"
3、建议修改。
在“echo "发表成功!";”后面再加一行,写上“exit();” 在
print_r(mysql_error())看看。
1.你可以这样解决 把从表单提交来$_POST[user],$_POST[title],$_POST[content] 输出一下 看看输出的结果是不是你想输入的结果 要是一样的话 就说明错误不是在这里。
2.我想是你的数据库编码的问题 你试着全输入英文字母看看要是OK 说明错误就在这里。比如说$_POST[content]你输入的是中文 所以你改一下你的数据库编码为bg2312 就OK了
3.要是还是不成功的话 就说明你写的不规划,或者某处的顺序写错了。
4. $sql="insert into `message` (`id`,`user`,`title`,`content`,`lastdate`)
values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())";挺不规划的 还需要完善 这样还不够安全。 去网看看人家是怎么写的。
mysql_query($sql) or die(mysql_error());