我怎么插的进去啊,我的表四个字段,id,username,password,name
前二个字段不允许为空,后二个字段可以为空,
我在插入时,除了id值外都可以为空,真是纳闷。。
下面是我的主要代码:
<?php
require "userclass.inc";
$user=new UserManage;
 $user->DbConnect();
 $user->AddUser($username,$password,$name);
 mysql_close();
?>
function AddUser($username,$password,$name)
  {
   $addsql="insert into userinfo(username,password,name) values('$username','$password','$name')";
   mysql_query($addsql) or die(mysql_error());
  }function DbConnect()
   {
     $connect=mysql_connect("localhost","root","");
     mysql_select_db("userinfo",$connect);
   }

解决方案 »

  1.   

    为空的意思是NULL,不是空字符串"",这点要注意
      

  2.   

    <?php
    require "userclass.inc";
    $user=new UserManage;
     $user->DbConnect();
     $user->AddUser($username,$password,$name);
     mysql_close();
    ?>
    function AddUser($username,$password,$name)
      {if(strlen(trim($username))>0||strlen(trim($password))>0||strlen(trim($$name))>0){
       $addsql="insert into userinfo(username,password,name) values('$username','$password','$name')";
       mysql_query($addsql) or die(mysql_error());
      }
    }
    function DbConnect()
       {
         $connect=mysql_connect("localhost","root","");
         mysql_select_db("userinfo",$connect);
       }
    你的表总共才四个字段,id应该是自增,当你全部为空时,没有记录进行插入呀
      

  3.   

    要不你在mysql环境下insert userinfo(username,password,name)values('','','');看看能不能成功。
      

  4.   

    我的数据库结构是:
    id tinyint(4) unsigned not null,
    username varchar(50) not null,
    password varchar(50) null,
    name varchar(50) null
      

  5.   

    在mysql下用insert userinfo(username,password,name)values('','','');进行插入可以成功,添加一条除了id值外都为空的记录。。
      

  6.   

    1.我用my sql比较多,但是好像没有说我设置为no null时如果插入记录为空时会报错啊!具体情况我也不是很明白。
    2.刷新就会表单重复提交的,呵呵!其实可以把插入写在另外一页里面,表单提交到该页面,然后直接跳转回去,虽然有点麻烦,但我用到现在还是没有出什么问题的。呵呵!
      

  7.   

    楼主的第一个问题个人有一些设想,供楼主参考.1、个人建议在MYSQL数据库中不要使用删除功能,建立一个状态字段,比如说将
    要删除的标记出1之类。这么做的好处是很明显的。
    2、mysql在删除一条记录的时候,该条记录的位置就空了出来,mysql不会自动
    往上补齐的。需要使用数据表优化命令optimize table
    3、mysql里面会出现不能删除记录,这还真的没碰到过。。不知道该说
    什么好
      

  8.   

    其他人正在打开数据库设计界面?我自己在本机进行调试,我倒是把mysql-front开着,算不算打开数据库设计界面啊