我正在尝试创建注册系统,但是当我按下按钮时 注册我得到这个错误,谁能告诉我哪里出错了 这是我的注册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">
<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">
<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">
<input type="reset" value="Clear">
</form>
</p>
<?php
}
?>
</body>
</html>
答案 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!");
}