Ошибка при подключении PHP к MYSQL

Добрый день! Я пытаюсь подключить свой код к базе данных localhost / phpmyadmin.

Это мой код:

В файле register.php:

<?php
session_start();
require_once('dbconfig/config.php');
//phpinfo();
?>

config.php — это файл, в котором находится имя базы данных

<!DOCTYPE html>
<html>
<head>
<title>Registration Page</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body style="background-color:#bdc3c7">
<div id="main-wrapper">
<center><h2>Registration Form</h2></center>
<form action="register.php" method="post">
<div class="imgcontainer">
<img src="imgs/avatar.png" alt="Avatar" class="avatar">
</div>
<div class="inner_container">
<label><b>Username</b></label>
<input type="text" placeholder="Enter Username" name="username" required>
<label><b>Password</b></label>
<input type="password" placeholder="Enter Password" name="password" required>
<label><b>Confirm Password</b></label>
<input type="password" placeholder="Enter Password" name="cpassword" required>
<button name="register" class="sign_up_btn" type="submit">Sign Up</button>

<a href="index.php"><button type="button" class="back_btn"><< Back to Login</button></a>
</div>
</form>

<?php
if(isset($_POST['register']))
{
@$username=$_POST['username'];
@$password=$_POST['password'];
@$cpassword=$_POST['cpassword'];

if($password==$cpassword)
{
$query = "select * from userinfotbl where username='$username'";
//echo $query;
$query_run = mysqli_query($con,$query);
//echo mysql_num_rows($query_run);
if($query_run)
{
if(mysqli_num_rows($query_run)>0)
{
echo '<script type="text/javascript">alert("This Username Already exists.. Please try another username!")</script>';
}
else
{
$query = "insert into userinfotbl values('$username','$password')";
$query_run = mysqli_query($con,$query);
if($query_run)
{
echo '<script type="text/javascript">alert("User Registered.. Welcome")</script>';
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
header( "Location: homepage.php");
}
else
{
echo '<p class="bg-danger msg-block">Registration Unsuccessful due to server error. Please try later</p>';
}
}
}
else
{
echo '<script type="text/javascript">alert("DB error")</script>';
}
}

Эта строка, где происходит ошибка. Но я не знаю точно, что случилось.

                else
{
echo '<script type="text/javascript">alert("Password and Confirm Password do not match")</script>';
}

}
else
{
}
?>
</div>
</body>
</html>

Однако на странице localhost я получил сообщение «Localhost говорит: ошибка БД». Я не знаю, что с ним случилось.

0

Решение

Это означает, что "select * from userinfotbl where username='$username'" В запросе не найдено ни одной сущности, которая соответствовала бы условию или получила ошибку.

Возвращает FALSE при ошибке. Для успешного выбора, шоу, описания или
EXPLAIN-запросы mysqli_query () вернет объект mysqli_result. За
другие успешные запросы mysqli_query () вернет TRUE.

http://php.net/manual/en/mysqli.query.php

использование mysqli_error чтобы увидеть, что вы получили ошибку.

Пример:

if($password==$cpassword)
{
$query = "select * from userinfotbl where username='$username'";
//echo $query;
$query_run = mysqli_query($con,$query);
//echo mysql_num_rows($query_run);
if(!empty($query_run)) {
...
} elseif ($query_run === false)
echo mysqli_error($con);
else
echo '<script type="text/javascript">alert("DB error")</script>';
}
0

Другие решения

ты должен использовать mysqli_error проверить, есть ли ошибка в соединении или ошибка запроса

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector