Как реализовать функцию запроса в бд?

0

Здравствуйте. Написал функцию для возврата значений из БД по аргументам. При вызове функции выдаёт ошибки:

Warning: mysqli::query(): Couldn't fetch mysqli in db.php on line 4

Warning: Invalid argument supplied for foreach() in db.php on line 8

В чём может быть ошибка?

function get_from_sql($table, $key, $value=NULL){
    global $mysqli;
    if (!$value) {
        $query = $mysqli->query("SELECT * FROM ".$table);}
    else {
        $query = $mysqli->query('SELECT * FROM ' . $table.' WHERE '. $key.'='. $value);
    };
    foreach ($query as $key => $value) {
        return $query[$key];
    };
};
php
mysql

1 ответов

0

Зачем global?

Вот здесь в ответе есть хороший пример подключения к БД

https://fructcode.com/ru/qa/php-mysql-domasnee-zadanie-57-uroka-tgukud/

Конструкция ниже не имеет смысла, так как return в цикл никогда не ставят. Можно создать массив, в него записывать информацию полученную из БД в цикле, потом return'ном возвращать массив (вне цикла).

foreach ($query as $key => $value) {
        return $query[$key];
};

Sign up or Log in to write an answer