Как реализовать функцию запроса в бд?
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];
};
};
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];
};