weixin_54181651 2021-12-30 10:44 采纳率: 100%
浏览 36
已结题

php的prepare准备语句写注册页面

无法实现数据的插入
也没有错误的提示
想问问是哪里错了
<?php
    session_start();
    if(isset($_POST['ok']))
        {
            $username = $_POST['username'];
            $passwords = $_POST['passwords'];
            $repasswords = md5($_POST['repasswords']);
            $telephone = $_POST['telephone'];
            $email = $_POST['email'];
            $address = $_POST['address'];
            $coded = $_POST['code'];
            $regdate = date('Y-m_d',time());        
            // $rs = findUserByUserName($username);
            //创建连接
            $mysqli=new mysqli("localhost","root","","lg_shop");
            //设置mysqli编码
            mysqli_query($mysqli,"SET NAMES gb2312");
            //检查连接是否被创建
            if (mysqli_connect_errno()) {
            printf("Connect failed: %s\n", mysqli_connect_error());
            exit();
            }
            //创建准备语句
            if($stmt=$mysqli->prepare("insert into lg_user (username,password,email,address,telephone,regdate)values(?,?,?,?,?)")){
                $stmt->bind_param("sssss",$username,$password,$email,$address,$telephone,$regdate);
                $stmt->execute();
                $stmt->bind_result($username,$username,$password,$telephone,$address,$email);
                if($stmt->fetch()){
                    echo "<script>alert('用户名已存在,请重新填写!')</script>";
                    echo "<script>location='regsiter.php'</script>";
                }
                //写入数据库
                else{
                    //检查验证码
                        if($_SESSION["identifying"] == $coded)
                            {    
                                /**
                                    $isok = mysql_query($sql) or die(mysql_error());//这时候可以直观的显示是否是sql语句报错
                                */    
                                $sql = addUser($username,$repasswords,$email,$address,$telephone,$regdate);//调用函数,新增用户
                                                                                                        
                                if($sql == 1){
                                    echo "<script>alert('注册成功!')</script>";
                                    echo "<script>location='index.php'</script>";
                                }
                                else{
                                    echo "<script>alert('注册失败,请重新填写!')</script>";
                                    echo "<script>location='regsiter.php'</script>";
                                }
                            }
                        else{
                            echo "<script>alert('验证码错误!')</script>";
                            echo "<script>location='regsiter.php'</script>";
                        }
                        
                    }
                }
            }
            //判断用户是否存在
?>

```

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2021-12-30 10:54
    关注

    6个字段,题主只有5个参数。。。
    if($stmt=$mysqli->prepare("insert into lg_user (username,password,email,address,telephone,regdate)values(?,?,?,?,?)")){
    $stmt->bind_param("sssss",$username,$password,$email,$address,$telephone,$regdate);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月7日
  • 已采纳回答 12月30日
  • 创建了问题 12月30日