Home >Backend Development >PHP Tutorial >为什么我用php代码插入数据到mysql中 显示为空

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

WBOY
WBOYOriginal
2016-06-23 13:48:391349browse

为什么我用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]

看出来了吗

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

请问这个问题解决了吗?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn