数据库:DROP TABLE IF EXISTS `jl_hezuoshe`.`userinfo`;
CREATE TABLE  `jl_hezuoshe`.`userinfo` (
  `hzsid` int(10) unsigned NOT NULL auto_increment,
  `username` varchar(45) character set gbk NOT NULL,
  `passWord` varchar(45) character set gbk NOT NULL,
  `psdQues` varchar(45) character set gbk NOT NULL,
  `psdAnswer` varchar(45) character set gbk NOT NULL,
  `realname` varchar(45) character set gbk NOT NULL,
  `sex` varchar(2) character set gbk NOT NULL,
  `zzmm` varchar(15) character set gbk NOT NULL,
  `shenfen` varchar(100) character set gbk NOT NULL,
  `email` varchar(45) character set gbk NOT NULL,
  `postCode` varchar(6) character set gbk NOT NULL,
  `telephone` varchar(45) character set gbk NOT NULL,
  `fax` varchar(45) character set gbk NOT NULL,
  `leixing` varchar(45) character set gbk NOT NULL,
  `hzs_name` varchar(100) character set gbk NOT NULL,
  `member_prov_sel` varchar(10) character set gbk NOT NULL,
  `member_city_sel` varchar(10) character set gbk NOT NULL,
  `member_country_sel` varchar(10) character set gbk NOT NULL,
  `zyhy` varchar(20) character set gbk NOT NULL,
  `zhucehao` varchar(20) character set gbk NOT NULL,
  `jb` int(10) unsigned NOT NULL default '0',
  `logintime` datetime NOT NULL,
  `lastintime` datetime NOT NULL,
  PRIMARY KEY  (`hzsid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC COMMENT='注册合作社表';=================================
程序中执行语句
$sql="insert into userinfo(username,passWord,psdQues,psdAnswer,realname,sex,zzmm,shenfen,email,postCode,telephone,fax,leixing,hzs_name,member_prov_sel,member_city_sel,member_country_sel,zyhy,zhucehao,logintime,lastintime) values('" .$username. "','" .$passWord. "','" .$psdQues. "','" .$psdAnswer. "','" .$realname. "','" .$sex. "','" .$zzmm. "','" .$shenfen. "','" .$email. "','" .$postCode. "','" .$telephone. "','" .$fax. "','" .$leixing. "','" .$hzs_name. "','" .$member_prov_sel. "','" .$member_city_sel. "','" .$member_country_sel. "','" .$zyhy. "','" .$zhucehao. "','" .date('Y-m-d H:i:s'). "','" .date('Y-m-d H:i:s'). "')";mysql_query($sql);if(mysql_affected_rows() > 0) 
{
  echo "成功"; 
  header("location:reg_success.php");
}
else
{
  echo "失败";
  echo($sql);
}
==================================
在查询分析器中可以执行成功程序中死活不行。请教高手,我应该怎么处理才能让程序中可以顺利执行呢。在线等,谢谢。

解决方案 »

  1.   

    1.不知道为什么楼主把表的charset设置为latin1?
    2.楼主不妨把$sql echo一下,然后把echo的sql语句放到数据库里面执行一下,看看出现什么错误,根据提示找原因
      

  2.   

    测试的sql语句:
    insert into userinfo(username,passWord,psdQues,psdAnswer,realname,sex,zzmm,shenfen,email,postCode,telephone,fax,leixing,hzs_name,member_prov_sel,member_city_sel,member_country_sel,zyhy,zhucehao,logintime,lastintime) values('luqitao','znxd2011','1111','1111','111','先生','党员','乡村干部','[email protected]','264209','8606315669996','8606315669998','企业创办性','中农信达合作社','540000','540100','540121','种植业','2652625666','2011-10-08 10:11:02','2011-10-08 10:11:02') 查询分析器中是可以的,能插入数据页面中则不可以。whywhywhywhywhywhywhywhy?
    请大侠指教。
      

  3.   

    1.打印出sql语句。看是否正确。2.header()函数前不能有任何输出,否则会报错。
      

  4.   

    echo  $sql
    之后把页面的sql语句 在查询分析器中执行
    看看行不行
      

  5.   


    生成表的时候就是charset设置为latin1?我试着改成charset设置为gb2312也不行。
    页面中
    <HTML><HEAD><TITLE>我的合作社</TITLE>
    <META http-equiv=content-type content="text/html; charset=gb2312">
    <META content="MSHTML 6.00.2800.1400" name=GENERATOR>
    </HEAD>
      

  6.   


    sql语句在查询分析器中是可以执行的。
    insert into userinfo(username,passWord,psdQues,psdAnswer,realname,sex,zzmm,shenfen,email,postCode,telephone,fax,leixing,hzs_name,member_prov_sel,member_city_sel,member_country_sel,zyhy,zhucehao,logintime,lastintime) values('luqitao','znxd2011','1111','1111','111','先生','党员','乡村干部','[email protected]','264209','8606315669996','8606315669998','企业创办性','中农信达合作社','540000','540100','540121','种植业','2652625666','2011-10-08 10:11:02','2011-10-08 10:11:02')  
      

  7.   

    还得确认你数据库连接是否成功了??select db 了?
      

  8.   


    所有的字段都是not null属性,估计插入失败的原因是其中某个值是空的。你仔细检查一下。
      

  9.   

    我在
    mysql_query("set names gb2312");
    前加了一句
    mysql_query($sql);成功了,谢谢各位
      

  10.   

    把所有的value填入 e文或数字,看是否是编码问题。
      

  11.   

    mysql_query($sql) or die(mysql_error());
    看下是什么错误。对症下药..
      

  12.   

    1.编码有问题,表名和字段名不该有引号。
    2.你试试把2条语句分开写,就是drop和create语句。