警告:mysqli_error()期望在第31行的D:\ xampplite \ htdocs \ shop \ registration.php中给出1个参数0

时间:2016-04-07 16:28:13

标签: php html mysql

  

我正在尝试创建注册系统,但是当我按下按钮时   注册我得到这个错误,谁能告诉我哪里出错了   这是我的注册php页面,用户可在其中输入详细信息。        

      $servername = "localhost"; 
    $username = "root"; $password = ""; 
    $dbname = "users_db";
     $conn = new mysqli($servername, $username, $password, $dbname); 

     if (mysqli_connect_errno())
         { echo "MySQLi Connection was not established: " . mysqli_connect_error();
     } 

    ?> 
    <html>
    <head>
    <title>Beginning PHP5,APACHE AND MySQLi</title>
    </head>
    <body>
    <?php
    if (isset($_POST['submit']) && $_POST['submit'] == "Register") {
    if ($_POST['username'] != "" &&
    $_POST['password'] != "" &&
    $_POST['first_name'] != "" &&
    $_POST['last_name'] != "" &&
    $_POST['email'] != "") {
    $query = "SELECT username FROM user_info " .
    "WHERE username = '" . $_POST['username'] . "';";

    $result = mysqli_query($conn, $query) 
    or die(mysqli_error()); **This is line 31**
     if (mysqli_num_rows($result) != 0){


         ?>

     <p>
    <p>
    <font color="#FF0000"><b>The Username,
    <?php echo $_POST['username']; ?>, is already in use, please choose
    another!</b></font>
    <form action="registration.php" method="post">
    Username: <input type="text" name="username"><br>
    Password: <input type="password" name="password"
    value="<?php echo $_POST['password']; ?>"><br>
    Email: <input type="text" name="email"
    value="<?php echo $_POST['email']; ?>"><br>
    First Name: <input type="text" name="first_name"
    value="<?php echo $_POST['first_name']; ?>"><br>
    Last Name: <input type="text" name="last_name"
    value="<?php echo $_POST['last_name']; ?>"><br>
    City: <input type="text" name="city"
    value="<?php echo $_POST['city']; ?>"><br>
    County: <input type="text" name="state"
    value="<?php echo $_POST['county']; ?>"><br>
    Car Models: choose at least one)<br>
    <select name="car_type" size="" multiple>
    <option value="Volkswagen"<?php
    if(in_array("Volkswagen", $_POST['car_type'])){
        echo "selected";
    }?>>BMW</option>
    <option value="BMW"<?php
    if(in_array("BMW", $_POST['car_type'])){
        echo "selected";
    }?>>Ford</option>
    <option value="Ford"<?php
    if(in_array("Ford", $_POST['car_type'])){
        echo "selected";
    }?>>Fiat</option>
    <option value="Fiat"<?php
    if(in_array("Fiat", $_POST['car_type'])){
        echo "selected";
    }?>>Toyota</option>
    <option value="Toyota"<?php
    if(in_array("Toyota", $_POST['car_type'])){
        echo "selected";
    }?>>Other Than Listed</option>
    <option value="Other Than Listed"<?php
    if (in_array("Other Than Listed", $_POST['hobbies'])) {
    echo " selected";
    } ?>>Other Than Listed</option>
    </select><br><br>
    <input type="submit" name="submit" value="Register"> &nbsp;
    <input type="reset" value="Clear">
    </form>
    </p>
    <?php
    } else {
    $query = "INSERT INTO user_info (username, password, email, " .
    "first_name, last_name, city, county, car_type) " .
    "VALUES ('" . $_POST['username'] . "', " .
    "(PASSWORD('" . $_POST['password'] . "')), '" .
    $_POST['email'] . "', '" . $_POST['first_name'] .
    "', '" . $_POST['last_name'] . "', '" . $_POST['city'] .
    "', '" . $_POST['county'] . "', '" .
    implode(", ", $_POST['car_type']) . "');";
    $result = mysqli_query($conn,$query) or die(mysqli_error());
    $_SESSION['user_logged'] = $_POST['username'];
    $_SESSION['user_password'] = $_POST['password'];
    ?>
    <p>
    Thank you, <?php echo $_POST['first_name'] . " " .
    $_POST['last_name']; ?> for registering!<br>
    <?php
    header("Refresh: 5; URL=index.php");
    echo "Your registration is complete! " .
    "You are being sent to the page you requested!<br>";
    echo "(If your browser doesn’t support this, ".
    "<a href=\"index.php\">click here</a>)";
    die();
    }
    } else {
    ?>
    <p>
    <font color="#FF0000"><b>The Username, Password, Email, First Name,
    and Last Name fields are required!</b></font>
    <form action="registration.php" method="post">
    Username: <input type="text" name="username"
    value="<?php echo $_POST['username']; ?>"><br>
    Password: <input type="password" name="password"
    value="<?php echo $_POST['password']; ?>"><br>
    Email: <input type="text" name="email"
    value="<?php echo $_POST['email']; ?>"><br>
    First Name: <input type="text" name="first_name"
    value="<?php echo $_POST['first_name']; ?>"><br>
    Last Name: <input type="text" name="last_name"
    value="<?php echo $_POST['last_name']; ?>"><br>
    City: <input type="text" name="city"
    value="<?php echo $_POST['city']; ?>"><br>
    State: <input type="text" name="state"
    value="<?php echo $_POST['state']; ?>"><br>
    Car models: (choose at least one)<br>
    <select name="car_type[]" size="10" multiple>
    <option value="Volkswagen"<?php
    if (in_array("Volkswagen", $_POST['car_type'])) {
    echo " selected";
    } ?>>Volkswagen</option>
    <option value="BMW"<?php
    if (in_array("BMW", $_POST["car_type"])) {
    echo " selected"; 
    } ?>>BMW</option>
    <option value="Ford"<?php
    if (in_array("Ford", $_POST["car_type"])) {
    echo " selected";
    } ?>>Ford</option>
    <option value="Toyota"<?php
    if (in_array("Toyota", $_POST["car_type"])) {
    echo " selected";
    } ?>>Toyota</option>
    <option value="Fiat"<?php
    if (in_array("Fiat", $_POST["car_type"])) {
    echo " selected";
    } ?>>"Fiat</option>
    <option value=">Other Than Listed"<?php
    if (in_array(">Other Than Listed", $_POST["car_type"])) {
    echo " selected";
    } ?>>Other Than Listed</option>
    </select><br><br>
    <input type="submit" name="submit" value="Register"> &nbsp;
    <input type="reset" value="Clear">
    </form>
    </p>
    <?php
    }
    } else {
    ?>
    <p>
    Welcome to the registration page!<br>
    The Username, Password, Email, First Name, and Last Name fields
    are required!
    <form action="registration.php" method="post">
    Username: <input type="text" name="username"><br>
    Password: <input type="password" name="password"><br>
    Email: <input type="text" name="email"><br>
    First Name: <input type="text" name="first_name"><br>
    Last Name: <input type="text" name="last_name"><br>
    City: <input type="text" name="city"><br>
    County: <input type="text" name="county"><br>
    Car models: (choose at least one)<br>
    <select name="car_type[]" size=”10” multiple>
    <option value="Volkswagen">Golfing</option>
    <option value="BMW">BMW</option>
    <option value="Ford">Ford</option>
    <option value="Toyota">Toyota</option>
    <option value="Fiat">Fiat</option>
    <option value="Other Than Listed">Other Than Listed</option>

    </select><br><br>
    <input type="submit" name="submit" value="Register"> &nbsp;
    <input type="reset" value="Clear">
    </form>
    </p>
    <?php
    }
    ?>
    </body>
    </html>

1 个答案:

答案 0 :(得分:0)

看起来你正在混淆面向对象和程序方法。

您可能想要参考:http://php.net/manual/en/mysqli.error.php

从我看来,你更喜欢程序方法。因此,您应该尝试这样的方法来检查您的数据库是否已成功连接:

$conn = mysqli_connect($servername, $username, $password, $dbname);

if (mysqli_connect_errno()) {
     die(mysqli_connect_error());
} else {
    die("Connection successful!");
}