首页 >后端开发 >php教程 >为什么我用php代码插入数据到mysql中 显示为空

为什么我用php代码插入数据到mysql中 显示为空

WBOY
WBOY原创
2016-06-23 13:48:391354浏览

为什么我用php代码插入数据到mysql中 有的字段显示为空 有的就能出现插入的值 我的代码如下


 include("conn.php");

 if ($_POST['submit']){

  $sql="insert into message (id,user,title,content,lastdate) " .
  "value ('','$_POST[user]','$_POST[title]','$_POST[content]',now())";
  mysql_query($sql);
  echo "发表成功";
 }
 ?>

  


  用户:

  标题:

  内容:



  



  


这个事phpmyadmin中的内容
 id user title  content lastdate      
 1       我的一个标题 我的PHP 2012-04-15 
 2   _   我的内容 你的PHP 2012-04-15 
  



回复讨论(解决方案)

mysql_query($sql)  or die(mysql_error());
提出结果!
可能不贴你都知道是怎么回事了

echo $sql ;   //输出什么结果。另外贴你表结构。


 $conn=@mysql_connect("localhost","root","") or die ("连接不成功");
 mysql_select_db("bbs",$conn);
 mysql_query("set names 'GBK'");
?>

这个是连接数据库的PHP代码


CREATE TABLE `message` (
  `id` tinyint(1) NOT NULL auto_increment,
  `user` varchar(25) NOT NULL,
  `title` varchar(50) NOT NULL,
  `content` tinytext NOT NULL,
  `lastdate` date NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;

这个是插入表的sql语句

echo $sql ;输出的结果是这个
insert into message (id,user,title,content,lastdate) value ('','','测试标题','',now())

echo $sql ;   //输出什么结果。另外贴你表结构。



  $conn=@mysql_connect("localhost","root","") or die ("连接不成功");
  mysql_select_db("bbs",$conn);
  mysql_query("set names 'GBK'");
?>

这个是连接数据库的PHP代码


CREATE TABLE `message` (
   `id` tinyint(1) NOT NULL auto_increment,
   `user` varchar(25) NOT NULL,
   `title` varchar(50) NOT NULL,
   `content` tinytext NOT NULL,
   `lastdate` date NOT NULL,
   PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;

这个是插入表的sql语句

没有问题啊。不知道你说的有些字段没有值是指哪个字段?

没有问题啊。不知道你说的有些字段没有值是指哪个字段?


echo $sql ;输出的结果是这个
insert into message (id,user,title,content,lastdate) value ('','','测试标题','',now())

values    还有什么问题吗?

values    还有什么问题吗?


我把value改为values以后

echo $sql ;
insert into message (id,user,title,content,lastdate) values ('','','子哈','',now())
插入的user和content内容还是为空 费解啊 会不会是mysql和表的编码不一样 我安装的是xamp集成环境 我在mysql配置文件里面设置了这个default-character-set=gbk 在[Client]下 在[mysqld]下设置了default-character-set=gbk

已经跟你说过了

mysql_query($sql) or die(mysql_error());
提出结果!

有的字段显示为空 有的就能出现插入的值

你上面INSERT 语句很多值都是'' 为空有什么奇怪?

有的字段显示为空 有的就能出现插入的值

你上面INSERT 语句很多值都是'' 为空有什么奇怪?


我插入的时候是打了很多内容的 但是echo那个语句出来就是现实为空 一模一样的字段内容插入后user和content都为空 但是title不是空的 能插入

mysql_query($sql) or die(mysql_error());
提出结果!
可能不贴你都知道是怎么回事了


已经把这个语句加入了 没有什么提示 插入内容是成功的 

 if ($_POST['submit']){
  print_r($_POST);  // 贴出结果。看是否有值

有的字段显示为空 有的就能出现插入的值

你上面INSERT 语句很多值都是'' 为空有什么奇怪?


不是我插入的空值 我插入相同的字段内容到3个字段中 user和content都显示为空 只有title字段显示出我插入的内容

用户:

text错了

  
$_POST[ content]

看出来了吗

问题解决没有,楼主?我也遇到了一样的问题

请问这个问题解决了吗?

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn