@theSever

Исправить Warning: mysqli_query() и другие ошибки?

Пытаюсь сделать небольшую панель. Скрипт выводит таблицу из базы, при нажатии на кнопку он отправляет другой запрос (пытаюсь сделать фильтр). Когда страница загружена, т.е. произошло первое обращение к базе, все норм, а при нажатии на кнопку (второе обращение к функции) начинают вылезать ошибки:


Notice: Undefined variable: host in E:\VertrigoServ\www\panel\1222\index.php on line 142
Notice: Undefined variable: user in E:\VertrigoServ\www\panel\1222\index.php on line 142
Notice: Undefined variable: password in E:\VertrigoServ\www\panel\1222\index.php on line 142
Notice: Undefined variable: database in E:\VertrigoServ\www\panel\1222\index.php on line 142

Warning: mysqli::mysqli(): (HY000/1045): Access denied for user ''@'localhost' (using password: NO) in E:\VertrigoServ\www\panel\1222\index.php on line 142
Warning: mysqli_query(): Couldn't fetch mysqli in E:\VertrigoServ\www\panel\1222\index.php on line 151


Крутится это дело сейчас на локалке VertigoServ.

function add_some_extra(&$string)
{

require_once 'connection.php'; // подключаем скрипт
 
// подключаемся к серверу
$link = new mysqli($host, $user, $password, $database) 
    or die(mysqli_connect_error());
 
 
// выполняем операции с базой данных
$query = $string;



$result = mysqli_query($link, $query) or die(mysqli_connect_error()); 
if($result)
{
    $rows = mysqli_num_rows($result); // количество полученных строк
     
    echo "<table><tr><th>Id</th><th>username</th><th>email</th><th>password</th></tr>";
    for ($i = 0 ; $i < $rows ; ++$i)
    {
        $row = mysqli_fetch_row($result);
        echo "<tr>";
            for ($j = 0 ; $j < 4 ; ++$j) echo "<td>$row[$j]</td>";
        echo "</tr>";
    }
    echo "</table><br/>";
     
    // очищаем результат
    mysqli_free_result($result);
}



// закрываем подключение
mysqli_close($link);
	
	
}




if (@$_REQUEST['button1']) {
	$str = "SELECT user_id,username,user_email,user_password FROM users LIMIT 30";
	add_some_extra($str);
}


	$str = "SELECT user_id,username,user_email,user_password FROM users LIMIT 50";
	add_some_extra($str);


Файл connection.php:

<?php
$host = "localhost"; // адрес сервера 
$database = "doran"; // имя базы данных
$user = "root"; // имя пользователя
$password = "vertrigo"; // пароль
?>


Строка 142:
$link = new mysqli($host, $user, $password, $database)


Строка 151:
$result = mysqli_query($link, $query) or die(mysqli_connect_error());
  • Вопрос задан
  • 322 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Nicol21
Вы не передали переменную в строку 142, попробуйте вместо require_once, использовать require
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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