D
D
dsk_qq2020-06-17 08:50:05
PHP
dsk_qq, 2020-06-17 08:50:05

How to compare a variable with a database and output the answer?

Hello. I thought of a comparison, but why doesn't it display "Not well done" when it does not find data in the database? Just a blank page

<?php
 
  $host = 'localhost';  // Хост, у нас все локально
  $user = 'db';    // Имя созданного вами пользователя
  $pass = 'pass'; // Установленный вами пароль пользователю
  $db_name = 'db';   // Имя базы данных
  $link = mysqli_connect($host, $user, $pass, $db_name); // Соединяемся с базой
 
  if (!$link) {
    echo 'Не могу соединиться с БД. Код ошибки: ' . mysqli_connect_errno() . ', ошибка: ' . mysqli_connect_error();
    exit;
  }
  $ip = $_GET['ip'];
  $sql = mysqli_query($link, "SELECT * FROM `AD_PAYMENTS` WHERE `status`='1' AND `username`='$ip'");
  while ($result = mysqli_fetch_array($sql)) {
    echo "{$result['username']}<br>";
    if ($ip==$result['username']){
        echo "молодец";
    }else{
        echo "не молодец";
    }
  }
?>

Answer the question

In order to leave comments, you need to log in

3 answer(s)
D
dsk_qq, 2020-06-17
@dsk_qq

<?php

  $host = 'localhost';  // Хост, у нас все локально
  $user = 'db';    // Имя созданного вами пользователя
  $pass = 'pass'; // Установленный вами пароль пользователю
  $db_name = 'db';   // Имя базы данных
  $link = mysqli_connect($host, $user, $pass, $db_name); // Соединяемся с базой

  if (!$link) {
    echo 'Не могу соединиться с БД. Код ошибки: ' . mysqli_connect_errno() . ', ошибка: ' . mysqli_connect_error();
    exit;
  }
  $ip = $_GET['ip'];
  $sql = mysqli_query($link, "SELECT * FROM `AD_PAYMENTS` WHERE `status`='1' AND `username`='$ip'");
  $result = mysqli_fetch_array($sql);
  if ($ip==$result['username'] AND $ip!=null){
    echo "молодец";
  }else{
    echo "не молодец";
  } 
  
?>

V
VitiaKotik, 2020-06-17
@VitiaKotik

You've added the condition `username`='$ip', and if it's not in the database, then result is empty.

R
Rsa97, 2020-06-17
@Rsa97

If nothing is found, then the first call to mysqli_fetch_array() returns false and the inner part of the loop is not executed.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question