Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 26.03.2022
Сообщений: 3

Не могу подключить базу данных

26.03.2022, 19:19. Показов 703. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Warning: mysqli::__construct(): (HY000/2002): ��������� �� �����������, �.�. ������ ������� ������ ������ �� ���������. in C:\OpenServer\domains\localhost\classes\ DBConnection.php on line 18

Warning: mysqli::query(): Couldn't fetch mysqli in C:\OpenServer\domains\localhost\classes\ SystemSettings.php on line 16

Fatal error: Uncaught Error: Call to a member function fetch_assoc() on null in C:\OpenServer\domains\localhost\classes\ SystemSettings.php:17 Stack trace: #0 C:\OpenServer\domains\localhost\classes\ SystemSettings.php(137): SystemSettings->load_system_info() #1 C:\OpenServer\domains\localhost\config.p hp(9): require_once('C:\\OpenServer\\d...') #2 C:\OpenServer\domains\localhost\index.ph p(1): require_once('C:\\OpenServer\\d...') #3 {main} thrown in C:\OpenServer\domains\localhost\classes\ SystemSettings.php on line 17
Вложения
Тип файла: rar 1.rar (5.5 Кб, 0 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.03.2022, 19:19
Ответы с готовыми решениями:

Боль и страдание. Не могу подключить базу данных
Здравствуйте, mac os в целом для меня стал болью и страданием в разработке... На Windows было попроще, но упорство пока что берёт вверх. ...

Ребята, мне нужен совет подключить готовую базу данных на сайт
Ребята, нужна помощь. Есть сайт и есть готовая база данных. Мне нужно подключить ее к сайту. Но я не имел до этого дела с подключением базы...

Как подключить базу данных PostgreSQL к PHP и отобразить на ней таблицу?
Всем привет, из тех кто знает PHP, хотел бы узнать как подключиться к базе данных PostgreSQL и отобразить таблицу employee в браузере? На...

5
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
26.03.2022, 20:05
Цитата Сообщение от Sem_dz Посмотреть сообщение
Call to a member function fetch_assoc() on null
Начните с этого. Почему там null?

А код надо сюда выкладывать.
0
0 / 0 / 0
Регистрация: 26.03.2022
Сообщений: 3
26.03.2022, 21:01  [ТС]
Code
1
2
3
4
5
Warning: mysqli::__construct(): (HY000/1049): Unknown database 'banking_db' in C:\OpenServer\domains\localhost\classes\DBConnection.php on line 18
 
Warning: mysqli::query(): Couldn't fetch mysqli in C:\OpenServer\domains\localhost\classes\SystemSettings.php on line 16
 
Fatal error: Uncaught Error: Call to a member function fetch_assoc() on null in C:\OpenServer\domains\localhost\classes\SystemSettings.php:17 Stack trace: #0 C:\OpenServer\domains\localhost\classes\SystemSettings.php(137): SystemSettings->load_system_info() #1 C:\OpenServer\domains\localhost\config.php(9): require_once('C:\\OpenServer\\d...') #2 C:\OpenServer\domains\localhost\index.php(1): require_once('C:\\OpenServer\\d...') #3 {main} thrown in C:\OpenServer\domains\localhost\classes\SystemSettings.php on line 17

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
if(!defined('DB_SERVER')){
    require_once("../initialize.php");
}
class DBConnection{
 
    private $host = DB_SERVER;
    private $username = DB_USERNAME;
    private $password = DB_PASSWORD;
    private $database = DB_NAME;
    
    public $conn;
    
    public function __construct(){
 
        if (!isset($this->conn)) {
            
            $this->conn = new mysqli($this->host, $this->username, $this->password, $this->database);
            
            if (!$this->conn) {
                echo 'Cannot connect to database server';
                exit;
            }            
        }    
        
    }
    public function __destruct(){
        $this->conn->close();
    }
}
?>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<?php
if(!class_exists('DBConnection')){
    require_once('../config.php');
    require_once('DBConnection.php');
}
class SystemSettings extends DBConnection{
    public function __construct(){
        parent::__construct();
    }
    function check_connection(){
        return($this->conn);
    }
    function load_system_info(){
        // if(!isset($_SESSION['system_info'])){
            $sql = "SELECT * FROM system_info";
            $qry = $this->conn->query($sql);
                while($row = $qry->fetch_assoc()){
                    $_SESSION['system_info'][$row['meta_field']] = $row['meta_value'];
                }
        // }
    }
    function update_system_info(){
        $sql = "SELECT * FROM system_info";
        $qry = $this->conn->query($sql);
            while($row = $qry->fetch_assoc()){
                if(isset($_SESSION['system_info'][$row['meta_field']]))unset($_SESSION['system_info'][$row['meta_field']]);
                $_SESSION['system_info'][$row['meta_field']] = $row['meta_value'];
            }
        return true;
    }
    function update_settings_info(){
        $data = "";
        foreach ($_POST as $key => $value) {
            if(!in_array($key,array("about_us","privacy_policy")))
            if(isset($_SESSION['system_info'][$key])){
                $value = str_replace("'", "&apos;", $value);
                $qry = $this->conn->query("UPDATE system_info set meta_value = '{$value}' where meta_field = '{$key}' ");
            }else{
                $qry = $this->conn->query("INSERT into system_info set meta_value = '{$value}', meta_field = '{$key}' ");
            }
        }
        if(isset($_POST['about_us'])){
            file_put_contents('../about.html',$_POST['about_us']);
        }
        if(isset($_POST['privacy_policy'])){
            file_put_contents('../privacy_policy.html',$_POST['privacy_policy']);
        }
        if(isset($_FILES['img']) && $_FILES['img']['tmp_name'] != ''){
            $fname = 'uploads/'.strtotime(date('y-m-d H:i')).'_'.$_FILES['img']['name'];
            $move = move_uploaded_file($_FILES['img']['tmp_name'],'../'. $fname);
            if(isset($_SESSION['system_info']['logo'])){
                $qry = $this->conn->query("UPDATE system_info set meta_value = '{$fname}' where meta_field = 'logo' ");
                if(is_file('../'.$_SESSION['system_info']['logo'])) unlink('../'.$_SESSION['system_info']['logo']);
            }else{
                $qry = $this->conn->query("INSERT into system_info set meta_value = '{$fname}',meta_field = 'logo' ");
            }
        }
        if(isset($_FILES['cover']) && $_FILES['cover']['tmp_name'] != ''){
            $fname = 'uploads/'.strtotime(date('y-m-d H:i')).'_'.$_FILES['cover']['name'];
            $move = move_uploaded_file($_FILES['cover']['tmp_name'],'../'. $fname);
            if(isset($_SESSION['system_info']['cover'])){
                $qry = $this->conn->query("UPDATE system_info set meta_value = '{$fname}' where meta_field = 'cover' ");
                if(is_file('../'.$_SESSION['system_info']['cover'])) unlink('../'.$_SESSION['system_info']['cover']);
            }else{
                $qry = $this->conn->query("INSERT into system_info set meta_value = '{$fname}',meta_field = 'cover' ");
            }
        }
        
        $update = $this->update_system_info();
        $flash = $this->set_flashdata('success','System Info Successfully Updated.');
        if($update && $flash){
            // var_dump($_SESSION);
            return true;
        }
    }
    function set_userdata($field='',$value=''){
        if(!empty($field) && !empty($value)){
            $_SESSION['userdata'][$field]= $value;
        }
    }
    function userdata($field = ''){
        if(!empty($field)){
            if(isset($_SESSION['userdata'][$field]))
                return $_SESSION['userdata'][$field];
            else
                return null;
        }else{
            return false;
        }
    }
    function set_flashdata($flash='',$value=''){
        if(!empty($flash) && !empty($value)){
            $_SESSION['flashdata'][$flash]= $value;
        return true;
        }
    }
    function chk_flashdata($flash = ''){
        if(isset($_SESSION['flashdata'][$flash])){
            return true;
        }else{
            return false;
        }
    }
    function flashdata($flash = ''){
        if(!empty($flash)){
            $_tmp = $_SESSION['flashdata'][$flash];
            unset($_SESSION['flashdata']);
            return $_tmp;
        }else{
            return false;
        }
    }
    function sess_des(){
        if(isset($_SESSION['userdata'])){
                unset($_SESSION['userdata']);
            return true;
        }
            return true;
    }
    function info($field=''){
        if(!empty($field)){
            if(isset($_SESSION['system_info'][$field]))
                return $_SESSION['system_info'][$field];
            else
                return false;
        }else{
            return false;
        }
    }
    function set_info($field='',$value=''){
        if(!empty($field) && !empty($value)){
            $_SESSION['system_info'][$field] = $value;
        }
    }
}
$_settings = new SystemSettings();
$_settings->load_system_info();
$action = !isset($_GET['f']) ? 'none' : strtolower($_GET['f']);
$sysset = new SystemSettings();
switch ($action) {
    case 'update_settings':
        echo $sysset->update_settings_info();
        break;
    default:
        // echo $sysset->index();
        break;
}
?>
Добавлено через 8 минут
А почему там нул
Цитата Сообщение от tarasalk Посмотреть сообщение
Начните с этого. Почему там null?
Добавлено через 3 минуты
Буду благодарен если объяснишь мне из-за чего такое происходит) я просто начинающий

Добавлено через 19 минут
Code
1
Неустранимая ошибка : необработанная ошибка: вызов функции-члена fetch_assoc() для логического значения в C:\OpenServer\domains\localhost\classes\SystemSettings.php:17 Трассировка стека: #0 C:\OpenServer\domains\localhost\classes\SystemSettings .php(137): SystemSettings->load_system_info() #1 C:\OpenServer\domains\localhost\config.php(9): require_once('C:\\OpenServer\\d...') #2 C: \OpenServer\domains\localhost\index.php(1): require_once('C:\\OpenServer\\d...') #3 {main} добавлено в C:\OpenServer\domains\localhost\classes\SystemSettings. php в строке 17
Добавлено через 43 секунды
что значит {main} добавлено в C:\OpenServer\domains\localhost\classes\ SystemSettings. php в строке 17?

Добавлено через 1 минуту
Цитата Сообщение от Sem_dz Посмотреть сообщение
while($row = $qry->fetch_assoc()){
что здесь не правильно ?
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
26.03.2022, 23:14
Цитата Сообщение от Sem_dz Посмотреть сообщение
Unknown database 'banking_db'
Ну вот же, прям в самом начале.

Цитата Сообщение от Sem_dz Посмотреть сообщение
вызов функции-члена fetch_assoc() для логического значения
Супер кривой перевод, смысл исказился.

Цитата Сообщение от Sem_dz Посмотреть сообщение
что значит {main} добавлено в C:\OpenServer\domains\localhost\classes\ SystemSettings. php в строке 17?
Это часть бектрейса, откуда ошибка пошла. Файл и номер строки.

Цитата Сообщение от Sem_dz Посмотреть сообщение
что здесь не правильно ?
А разве по ошибке непонятно? Вызывается функция fetch_assoc от null. Т.е. $qry = null.

В ошибках есть вся необходимые информация. Вам остается только прочитать их, потом ходить по файлам и строкам(которые указаны) и смотреть почему так получилось. Надо учиться дебажить, без этого никак.
0
0 / 0 / 0
Регистрация: 26.03.2022
Сообщений: 3
27.03.2022, 00:20  [ТС]
почему $qry = null ? Это из-за того что база данных пустая?

Добавлено через 23 минуты
PHP
1
2
3
4
5
6
    function load_system_info(){
        // if(!isset($_SESSION['system_info'])){
            $sql = "SELECT * FROM system_info";
            $qry = $this->conn->query($sql);
                        while($row = $qry->fetch_assoc()){
                    $_SESSION['system_info'][$row['meta_field']] = $row['meta_value'];
я не знаю что с этой 17 строкой сделать уже
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
27.03.2022, 01:22
Ну смотрите, мы знаем что на 17 строке $qry = null. Наверно надо посмотреть откуда там взялся null? А где происходит присваивание значения для переменной $qry? Всего лишь на одну строчку выше, 16 строка. Понятен ход мыслей?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.03.2022, 01:22
Помогаю со студенческими работами здесь

Не могу подключится к базе
Добрый день народ! Помогите пожалуста у меня такая проблема я не могу подключится к бд выдает ошибку Пробывал всяка подключится но не...

Не работает setAttribute(): Невозможно подключится к базе данных SQLSTATE
Здравствуйте! Кто нибудь сталкивался с проблемой не работает setAttribute().Код работает не выдавая ошибок если функцию...

Не получается подключится к базе данных
Добрый день,у меня тут такая жесткая вещь,которую вообще понять не могу как оно так выходить.Суть в том что проект находится на хостинге,и...

Работаю с xampp последняя версия пытаюсь подключится к базе данных через php 7
&lt;? $db_host = &quot;localhost&quot;; $db_user = &quot;root&quot;; // Логин БД $db_password = &quot;&quot;; // Пароль БД $db_base =...

Как подключить оплату через яндекс деньги к базе данных?
Как подключить оплату через яндекс деньги к базе данных? Вот есть виджет от яндекса, человек вводит сумму для отправки и пересылает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru