我该如何解决此警告?

时间:2015-07-09 13:49:45

标签: php

我正在写一个网站。但我一直有一个未知的错误。 它说:

“警告:mysqli_num_rows()期望参数1为mysqli_result,在第29行的/ Applications / XAMPP / xamppfiles / htdocs / social business kopie / index.php中给出null”

我不知道我需要改变我的PHP代码,我只是一个初学者。请有人帮帮我吗?

第29行

的index.php:

<?php
$reg = @$_POST['reg'];<p>
//declaring variables to prevent errors

$fn = ""; //First Name

$ln = ""; //Last Name

$un = ""; //Username

$em = ""; //Email

$em2 = ""; //Email 2

$pswd = ""; //Password

$pswd2 = ""; // Password 2

$d = ""; // Sign up Date

$u_check = ""; // Check if username exists

//registration form

$fn = strip_tags(@$_POST['fname']);

$ln = strip_tags(@$_POST['lname']);

$un = strip_tags(@$_POST['username']);

$em = strip_tags(@$_POST['email']);

$em2 = strip_tags(@$_POST['email2']);

$pswd = strip_tags(@$_POST['password']);

$pswd2 = strip_tags(@$_POST['password2']);

$d = date("Y-m-d"); // Year - Month - Day

if ($reg) {

    if ($em==$em2) {

        // Check if user already exists

        $u_check = mysql_query("SELECT username FROM users WHERE username='$un'");

        // Count the amount of rows where username = $un

        $check = mysqli_num_rows($u_check);

        if ($check == 0) {

            //check all of the fields have been filed in

            if ($fn&&$ln&&$un&&$em&&$em2&&$pswd&&$pswd2) {

                // check that passwords match

                if ($pswd==$pswd2) {

                    // check the maximum length of username/first name/last name does not exceed 25 characters

                    if (strlen($un)>25||strlen($fn)>25||strlen($ln)>25) {

                        echo "The maximum limit for username/first name/last name is 25 characters!";

                    }

                    else

                    {

                        // check the maximum length of password does not exceed 25 characters and is not less than 5 characters

                        if (strlen($pswd)>30||strlen($pswd)<5) {

                            echo "Your password must be between 5 and 30 characters long!";

                        }

                        else

                        {

                            //encrypt password and password 2 using md5 before sending to database

                            $pswd = md5($pswd);

                            $pswd2 = md5($pswd2);

                            $query = mysql_query("INSERT INTO users VALUES ('','$un','$fn','$ln','$em','$pswd','$d','0')");

                            die("

                            Welcome to findFriends

                            Login to your account to get started ...");
                        }

                    }

                }

                else {

                    echo "Your passwords don't match!";

                }

            }

            else

            {

                echo "Please fill in all of the fields";

            }

        }

        else

        {

            echo "Username already taken ...";

        }

    }

    else {

        echo "Your E-mails don't match!";

    }

}

?>

1 个答案:

答案 0 :(得分:0)

你正在混合mysql和mysqli函数。我真的建议你使用mysqli函数,作为others are deprecated