PHP: Почему бд возврашает пустой ответ

136
04 декабря 2021, 07:00

Я слелал класс для облегчения работы с бд:

class db_class{
public $dbi;
public function connect($server, $user, $pass, $name, $return = False){
    $connect = mysqli_connect($server, $user, $pass, $name);
    if(!$return){
        if(!$connect){
            echo "Ошибка подключения к БД.Код ошибки: " .mysqli_connect_error();
            Exit();
        }
    }else{
        $this->dbi = $connect;
    }
}
public function zapros($query){
    return mysqli_query($this->dbi, $query);
    mysqli_close($this->dbi);
}
}

И подключился к бд

$dbc = new db_class;
$dbc->connect("localhost", "user", "pass", "id1", True);

После, где-то в коде, хочу получить данные из бд, пишу

$result = $dbc->zapros("SELEECT * FROM users");
echo "Уже зарегестрировано:".$result->num_rows;
//$result это ответ бд
//$result->num_rows это количество найденого по запросу

Но БД возврашает пустую строку, как решить? И почему так происходит? Я в php новичок, ещё учу.

Answer 1

Есть совет: используйте IDE с возможностью Debug для пошагового прохождения вашего кода, чтобы увидеть поведении программы и где и куда что-то получается и отправляется (переменные); Также сразу лучше использовать PDO и оффициальная документация поможет быстрее, так как там сразу дают примеры использования (https://www.php.net/manual/ru/).

public function zapros($query){
return mysqli_query($this->dbi, $query);
mysqli_close($this->dbi); //**Это строка никогда не выполниться**

}

например так:

  public function zapros($query){
    $result = mysqli_query($this->dbi, $query);
    mysqli_close($this->dbi);
    return $result;
}

Могу предположить, что как раз из-за mysqli_close($this->dbi); не отрабатывает. Извините, проверить пока у себя не могу. Удачи в постижении PHP

READ ALSO
Selection from sql db with identical names

Selection from sql db with identical names

Подскажите, как исключить из запроса значения результатов по значению test, data которые не находятся в диапазоне, например (4, 9) в таблице данных

196
Удалить свойство объекта redux react

Удалить свойство объекта redux react

Суть такова, я использую react-redux и стороннюю библиотеку normalizr, таким образом я имею некоторый объект объектов который выглядит примерно следующий...

164
Как вернуть несколько самых длинных слов из строки?

Как вернуть несколько самых длинных слов из строки?

Вот функция которая принимает строку и возвращает самое длинное слово в этой строке

230