语法没问题,都是对的
是不是这些变量值$userid,$sex...没有取过来?
如果你是get传送建议用
$userid=$_GET['userid']
用post传送的话建议用
$userid=$_POST['userid']
取数据后再执行数据库操作应该就没问题

解决方案 »

  1.   

    //将用户填写信息添加到数据库
    $strSql="insert into reguser(userid,sex,age,tel,email,address)
    values('$userid','$sex','$age','$tel','$email','$address')";
    $result=mysql_query($strSql,$myconn);// 取得前一次 MySQL 操作所影响的记录行数
    // 验证是否真的插入成功了
    var_dump(mysql_affected_rows());
      

  2.   

    $result=mysql_query($strSql,$myconn)or die("error:".mysql_error());
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>用户注册</title>
    </head><body>
    <?php/**************************************
    文 件 名:userreg.php
    用    途:用户注册
    编写日期:2006-01-07
    程序设计:七月十五
    备    注:由于数据库用户表开始取名为user,刚好是系统的保留字,所以一直不能成功。换成reguser一切正常。注意系统规则。
    **************************************/include("head.php");
    //$link=pg_connect($conn2pg) or die("<br>不能连接到PostgreSQL!");if($submitreg) //如果用户提交注册信息
    {$link=pg_connect($conn2pg) or die("<br>不能连接到PostgreSQL!");//格式用户输入信息
    //以下是可能出现的问题,应该用客户端代码来解决,如JAVASCRIPT,目前先用PHP来完成
    //printf("%s %s %s %s",$name,$pwd,$checkpwd,$mail);//此行用于检测提交表单值是否被传递 if($pwd<>$checkpwd)
    {
    printf("<b>提示:</b><br>两次密码不一样!");
    die("<br>注册未成功! <a href=\"userreg.php\">重新注册</a> ");
    }
    if(!ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$',$mail))
    //正则表达式里的一长串字符是用于检测电子邮件的格式正确与否的
    {
    printf("<b>提示:</b><br>电子邮件格式有误!请正确填写!");
    die("<br>注册未成功! <a href=\"userreg.php\">重新注册</a> ");
    } if(pg_num_rows(pg_query("SELECT * FROM reguser WHERE username='$name'")))
    //pg_num_rows返回pg_query查询的行数,如果用户名或电子邮件有相同,则返回为1,用户名和电子邮件都是唯一约束
    {
    printf("<b>提示:</b><br>用户名已被注册!");
    die("<br>注册未成功! <a href=\"userreg.php\">重新注册</a> ");
    } if(pg_num_rows(pg_query("SELECT * FROM reguser WHERE email='$mail'")))
    {
    printf("<b>提示:</b><br>E-mail已被注册,一个E-mail只能注册一个用户");
    die("<br>注册未成功! <a href=\"userreg.php\">重新注册</a> ");
    }//写入数据库
    //$sql="INSERT INTO user (username,password,email) VALUES ('$name','$pwd','$mail')";$sql="INSERT INTO reguser(username,password,email) VALUES ('$name','$pwd','$mail')";
    $result=pg_query($sql);
    if($result)
    {
    printf("<b>提示:</b><br>注册成功!请 <a href=\"userlogin.php\">登入</a> 系统!");
    }
    else
    {
    printf("<b>提示:</b><br>系统原因或是服务器繁忙!");
    die("<br>注册未成功! <a href=\"userreg.php\">重新注册</a> ");
    }}
    else //未提交注册信息,则输出注册表单
    {
    ?>
    <table>
    <caption>用 户 注 册</caption>
    <tr><td>
    <form method="post" action="<?php echo $PATH_INFO ?>">
    用户帐号: <input type="text" name="name"> *&nbsp;&nbsp;最长20字符,支持中文 </a><br>
    用户密码: <input type="password" name="pwd"> *&nbsp;&nbsp;为了您的安全,密码不能过于简单<br>
    确认密码: <input type="password" name="checkpwd"> *&nbsp;&nbsp;请再输一次密码,两次需保持一致<br>
    电子邮件: <input type="text" name="mail"> *&nbsp;&nbsp;请确保您的电子邮箱可以正常使用<br>
    <br>
    <input type="submit" name="submitreg" value=" 注 册 ">
    <input type="reset" name="reset" value=" 重 写 ">
    </form>
    </td></tr>
    <tr><td>
    <ul>
    <li>为了您能方便的注册,带 * 请务必填写。
    <li>如果您需要扩展您的个人信息,请点击 <a href="userctrl.php">用户控制面板</a> 进行补登。
    <li>请务必遵守相关的 <a href="rule/webrule.php">法律规定</a> 和 <a href="rule/localrule.php">本站约定</a> ,谢谢!
    </ul>
    </td></tr>
    </table>
    <?php
    }
    include("foot.php");
    ?>
    </body>
    </html>给你一个源码是PostgreSQL的,但原理一样。
    我估计是你没有构建表单输入。
    还有MySQL的用户名和密码默认为root和空。
      

  4.   

    $strSql="insert into reguser(userid,sex,age,tel,email,address)
     values('$userid','$sex','$age','$tel','$email','$address')";values中如果有任何一项是错误的或是空的就不能写入数据库,并且不报错,你检查一下$_POST。
      

  5.   

    hehe ,可以尝试如下语句:
    insert into reguser(userid,sex,age,tel,email,address) values ('','','','','','');reguser {
    int userid PK
    ...
    ...
    }呵呵
      

  6.   

    多谢大家的帮助,我已按"arcow(冲星"的方法解决了!!!!!!!
      

  7.   

    lz 自己多尝试看看,hoho,在编写代码时要注意判断返回结果,那是你判断错误出处的关键。