Функция mysqli_fetch_array не отображает ничего на моей странице входа - PullRequest
0 голосов
/ 28 августа 2018

Я создал страницу входа в php, которая отображается нормально! если вход выполнен успешно, проверка работает, но получение данных из базы данных не удается. Я имею в виду, что он отображает пустую страницу входа и не сообщает об ошибках!

Код страницы входа в систему:

 <?php
   include 'users.php'
   if (empty ($_POST) === false) {
       $username = $_POST['uname'];
       $password = $_POST['upassword'];
       if (empty ($username) === true || empty ($password) === true){
           echo  'You need to enter a Username and Password!';
       } else if (user_exists($username) === false) {
           echo 'We can\'t find this Username. Have you registered?';
       } else{
           echo 'ok!';
           //set the user session
           //redirect the user home
       }
?>

код страницы пользователя:

<?php
function user_exists($username) {
    $query = mysqli_query(mysqli_connect('localhost', 'root', '',   'minepcamp'),"SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username'");
    return (mysqli_fetch_array($query));
}
?>

Нужно ли мне что-то еще или я совершенно не прав, так что поправьте меня, спасибо заранее!

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Попробуйте использовать mysqli_fetch_assoc ($ sql) .

0 голосов
/ 28 августа 2018

В вашем коде исправлены проблемы.

Первый: используйте mysqli_num_rows вместо mysqli_fetch_array

Секунда: изменение if состояние

Я добавил код в комментарии, вы можете использовать эти строки кода для отладки

function user_exists($username) {
$query = mysqli_query(mysqli_connect('localhost', 'root', '',   'shopdaily'),"SELECT * FROM `categories` where username = '$username'");
//$data=mysqli_num_rows($query);
return(mysqli_num_rows($query));
 //print_r($data);
}

$count=user_exists($username);
if ($count>0) {
echo "record";
}else{
    echo " no record";
}

По моему мнению, у вас плохой формат кодирования, вы должны использовать этот формат

function user_exists($username) {
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 

    $sql = "SELECT * FROM `categories` where username = '$username'";
    $result = $conn->query($sql);
    return $result->num_rows;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...