mysqli_num_rows()期望参数是mysqli_result?

时间:2017-06-26 04:26:07

标签: php sql mysqli

我正在创建一个注册页面。表格包含电子邮件,密码,确认密码,学生证,名字,第二名,课程,性别和DoB。我希望页面收集该信息并将其存储在数据库中。

在monent,我收到此错误:mysqli_num_rows()期望参数1为mysqli_result,第22行给出布尔值。

        <?php
        require_once 'connect.php';
        if (isset($_POST['reg'])){ 
                    $dob = $_POST['date'];
                    $Student_ID = $_POST['Student_ID'];
                    $gender = $_POST['gender'];
                    $course = $_POST['Course'];
                    $email = $_POST['inputEmail'];
                    $password = $_POST['inputPassword'];
                    $FN = $_POST['FirstName'];
                    $SN = $_POST['SecondName']; 

                $sql = "INSERT INTO tblaccounts (Email, Password, Student_ID, FirstName, SecondName, Course, Gender, DoB) VALUES ('".$email."','".$password."','".$Student_ID."','".$FN."','".$SN."','".$course."','".$gender."','".$dob."')"; 
                $result = mysqli_query($connection, $sql) or die("Database Connection Failed" . mysqli_error($connection));
                $count = mysqli_num_rows($result);

        if ($count == 1){
                echo "Account created!";
                header('Location: profile.php');
                //session_start();
                //$id = session_id();
                $cookie_name = "user";
                $cookie_value = $username;
                setcookie($cookie_name, $cookie_value);

                //$result2 =  mysqli_query($connection, "SELECT Student_ID FROM `tblaccounts` WHERE Email='$username'");
                $row2 = mysqli_fetch_assoc($userid);
                $cookie_name2 = "userID";
                $cookie_value2 = $userid['Student_ID'];
                setcookie($cookie_name2, $cookie_value2);
            } else { 
                echo "Login Failed!:";#
                ?><br/><a href ="login.php">Go back to the login screen.</a><?php
            }
        }
        ?>

1 个答案:

答案 0 :(得分:0)

$ count = mysqli_num_rows($ result);

上述命令不适用于Insert查询,它通常用于检索查询。

而不是你使用mysqli_affected_rows()

mysqli_affected_rows() - 获取先前MySQL操作中受影响的行数