@Jeracsus

MySql ошибка — mysqli_query() expects parameter 1?

Мне нужно найти в БД запись где тип_б = запросу

$connection = mysqli_connect($config['db']['server'], $config['db']['username'], $config['db']['password'], $config['db']['name']);
$quere = $data['search_request'];
$type_a = array_shift($type);
mysqli_query($connection, 'SET NAMES utf8');
function search ($query, $type_b) 
{ 
    $query = trim($query); 
    

    
            $q = "SELECT * FROM `remont` WHERE `$type_b` = `$query`";

            $result = mysqli_query($connection, "SELECT * FROM `remont` WHERE $type_b = $query");  //Ругается сюда!!!

            if (mysql_affected_rows() > 0) { 
                $row = mysql_fetch_assoc($result); 
                $num = mysql_num_rows($result);

                $text = '<p>За запитом <b>'.$query.'</b> знайдено співпадінь: '.$num.'</p>';
//$text. '<br>' . 
                 
            } else {
                $text = '<p>За вашим запитом нічого не знайдено( .</p>';
            }
        
    return $text; 
} 
echo search($quere, $type_а);

но в результате ошибка: mysqli_query() expects parameter 1 to be mysqli, null given
  • Вопрос задан
  • 25 просмотров
Решения вопроса 3
SagePtr
@SagePtr
Еда - это святое
Потому что переменная $connection у вас глобальная, а внутри функции вы обращаетесь к ней, как к локальной. И да, лучше выкинуть эту поповщину и использовать нормальный PDO.
Ответ написан
l3ftoverz
@l3ftoverz Куратор тега PHP
Туды сюды
mysqli_query() expects parameter 1 to be mysqli, null given

Ну что, что тут не понятно? Функция ожидает первым параметром mysqli ресурс, а получает null.
Причём я даже не могу сказать на каком из этапов это происходит, так как ты вырезал из сообщения об ошибке номер строки.

Дальше, если чуть-чуть подумать, можно прикинуть:

1. Возможно соединение с БД не происходит вообще. у тебя это никак не обрабатывается.
2. Запрос возвращается с ошибкой.

А если ещё чуть чуть внимательнее посмотреть, то увидишь, что $connection - не доступна в функции, так как объявлена вне её.
Ответ написан
anton_reut
@anton_reut
Начинающий веб-разработчик
Похоже переменная $connection пустая.
Вот тут первый параметр он пишет что NULL, то есть вообще ничего: mysqli_query($connection, 'SET NAMES utf8');
Так что смотри где ошибка в первой строке. И вообще, $config это у тебя массив, а там данные то есть вообще?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы