Welcome Guest, Not a member yet? Register   Sign In
Intermittent "Error connecting to the database"
#1

(This post was last modified: 11-07-2023, 05:14 AM by objecttothis. Edit Reason: Turning off emojis )

I'm running a WAMP installation (Laragon) for development. MySQL 8.0.35, PHP 8.1.10, CI 4.4.3, CI_Environment is development

I have the session handler set to the database. Most queries are properly going through, but occasionally I'm running into errors (stack trace below).  In #12 I have a model calling $this->session = session(); A lot of other queries work fine, so I'm a little stumped as to why #2 in the stack trace is throwing an exception with the error: "Main connection [MySQLi]: Trying to access array offset on value of type bool". The database is on the same local box and like I said, other queries are going through.

ERROR - 2023-11-07 15:33:53 --> Error connecting to the database: ErrorException: Trying to access array offset on value of type bool in [REDACTED]\vendor\codeigniter4\framework\system\Database\MySQLi\Connection.php:92
Stack trace:
#0 [REDACTED]\vendor\codeigniter4\framework\system\Database\MySQLi\Connection.php(92): CodeIgniter\Debug\Exceptions->errorHandler(2, 'Trying to acces...', '[REDACTED]...', 92)
#1 [REDACTED]\vendor\codeigniter4\framework\system\Database\BaseConnection.php(392): CodeIgniter\Database\MySQLi\Connection->connect(false)
#2 [REDACTED]\vendor\codeigniter4\framework\system\Session\Handlers\DatabaseHandler.php(98): CodeIgniter\Database\BaseConnection->initialize()
#3 [internal function]: CodeIgniter\Session\Handlers\DatabaseHandler->open('sessions', 'ospos_session')
#4 [REDACTED]\vendor\codeigniter4\framework\system\Session\Session.php(919): session_start()
#5 [REDACTED]\vendor\codeigniter4\framework\system\Session\Session.php(241): CodeIgniter\Session\Session->startSession()
#6 [REDACTED]\vendor\codeigniter4\framework\system\Config\Services.php(693): CodeIgniter\Session\Session->start()
#7 [REDACTED]\vendor\codeigniter4\framework\system\Config\BaseService.php(258): CodeIgniter\Config\Services::session(Object(Config\Session), false)
#8 [REDACTED]\vendor\codeigniter4\framework\system\Config\BaseService.php(199): CodeIgniter\Config\BaseService::__callStatic('session', Array)
#9 [REDACTED]\vendor\codeigniter4\framework\system\Config\Services.php(664): CodeIgniter\Config\BaseService::getSharedInstance('session', NULL)
#10 [REDACTED]\vendor\codeigniter4\framework\system\Config\BaseService.php(258): CodeIgniter\Config\Services::session()
#11 [REDACTED]\vendor\codeigniter4\framework\system\Common.php(996): CodeIgniter\Config\BaseService::__callStatic('session', Array)
#12 [REDACTED]\app\Models\Employee.php(32): session()
#13 [REDACTED]\vendor\codeigniter4\framework\system\Config\Factories.php(221): App\Models\Employee->__construct(NULL)
#14 [REDACTED]\vendor\codeigniter4\framework\system\Config\Factories.php(171): CodeIgniter\Config\Factories::createInstance('models', 'App\\Models\\Empl...', Array)
#15 [REDACTED]\vendor\codeigniter4\framework\system\Common.php(827): CodeIgniter\Config\Factories::__callStatic('models', Array)
#16 [REDACTED]\app\Controllers\Secure_Controller.php(27): model('Employee')
#17 [REDACTED]\app\Controllers\Attributes.php(19): App\Controllers\Secure_Controller->__construct('attributes')
#18 [REDACTED]\vendor\codeigniter4\framework\system\CodeIgniter.php(914): App\Controllers\Attributes->__construct()
#19 [REDACTED]\vendor\codeigniter4\framework\system\CodeIgniter.php(493): CodeIgniter\CodeIgniter->createController()
#20 [REDACTED]\vendor\codeigniter4\framework\system\CodeIgniter.php(361): CodeIgniter\CodeIgniter->handleRequest(NULL, Object(Config\Cache), false)
#21 [REDACTED]\public\index.php(79): CodeIgniter\CodeIgniter->run()
#22 {main}
CRITICAL - 2023-11-07 15:33:53 --> Unable to connect to the database.
Main connection [MySQLi]: Trying to access array offset on value of type bool
in SYSTEMPATH\Database\BaseConnection.php on line 428.
1 SYSTEMPATH\Session\Handlers\DatabaseHandler.php(98): CodeIgniter\Database\BaseConnection->initialize()
2 [internal function]: CodeIgniter\Session\Handlers\DatabaseHandler->open('sessions', 'ospos_session')
3 SYSTEMPATH\Session\Session.php(919): session_start()
4 SYSTEMPATH\Session\Session.php(241): CodeIgniter\Session\Session->startSession()
5 SYSTEMPATH\Config\Services.php(693): CodeIgniter\Session\Session->start()
6 SYSTEMPATH\Config\BaseService.php(258): CodeIgniter\Config\Services::session(Object(Config\Session), false)
7 SYSTEMPATH\Config\BaseService.php(199): CodeIgniter\Config\BaseService::__callStatic('session', [...])
8 SYSTEMPATH\Config\Services.php(664): CodeIgniter\Config\BaseService::getSharedInstance('session', null)
9 SYSTEMPATH\Config\BaseService.php(258): CodeIgniter\Config\Services::session()
10 SYSTEMPATH\Common.php(996): CodeIgniter\Config\BaseService::__callStatic('session', [])
11 APPPATH\Models\Employee.php(32): session()
12 SYSTEMPATH\Config\Factories.php(221): App\Models\Employee->__construct(null)
13 SYSTEMPATH\Config\Factories.php(171): CodeIgniter\Config\Factories::createInstance('models', 'App\\Models\\Employee', [...])
14 SYSTEMPATH\Common.php(827): CodeIgniter\Config\Factories::__callStatic('models', [...])
15 APPPATH\Controllers\Secure_Controller.php(27): model('Employee')
16 APPPATH\Controllers\Attributes.php(19): App\Controllers\Secure_Controller->__construct('attributes')
17 SYSTEMPATH\CodeIgniter.php(914): App\Controllers\Attributes->__construct()
18 SYSTEMPATH\CodeIgniter.php(493): CodeIgniter\CodeIgniter->createController()
19 SYSTEMPATH\CodeIgniter.php(361): CodeIgniter\CodeIgniter->handleRequest(null, Object(Config\Cache), false)
20 FCPATH\index.php(79): CodeIgniter\CodeIgniter->run()

I changed the session handler from database to file system to try to see if the issue was related to the session handling, but it isn't. The stack trace just shifts to a different periodic database connection failure.

This query is attempted

Select statement: string(153) "SELECT *
FROM `ospos_employees`
JOIN `ospos_people` ON `ospos_people`.`person_id` = `ospos_employees`.`person_id`
WHERE `ospos_employees`.`person_id` = 1"

and most of the time it's successful, but occasionally it's spitting out the same database connection error with a different stack trace

ERROR - 2023-11-07 16:08:28 --> Error connecting to the database: ErrorException: Trying to access array offset on value of type bool in [REDACTED]\vendor\codeigniter4\framework\system\Database\MySQLi\Connection.php:92
Stack trace:
#0 [REDACTED]\vendor\codeigniter4\framework\system\Database\MySQLi\Connection.php(92): CodeIgniter\Debug\Exceptions->errorHandler(2, 'Trying to acces...', '[REDACTED]...', 92)
#1 [REDACTED]\vendor\codeigniter4\framework\system\Database\BaseConnection.php(392): CodeIgniter\Database\MySQLi\Connection->connect(false)
#2 [REDACTED]\vendor\codeigniter4\framework\system\Database\BaseConnection.php(575): CodeIgniter\Database\BaseConnection->initialize()
#3 [REDACTED]\vendor\codeigniter4\framework\system\Database\BaseBuilder.php(1615): CodeIgniter\Database\BaseConnection->query('SELECT *\nFROM `...', Array, false)
#4 [REDACTED]\app\Models\Employee.php(94): CodeIgniter\Database\BaseBuilder->get()
#5 [REDACTED]\app\Models\Employee.php(441): App\Models\Employee->get_info(1)
#6 [REDACTED]\app\Controllers\Secure_Controller.php(38): App\Models\Employee->get_logged_in_employee_info()
#7 [REDACTED]\app\Controllers\Attributes.php(19): App\Controllers\Secure_Controller->__construct('attributes')
#8 [REDACTED]\vendor\codeigniter4\framework\system\CodeIgniter.php(914): App\Controllers\Attributes->__construct()
#9 [REDACTED]\vendor\codeigniter4\framework\system\CodeIgniter.php(493): CodeIgniter\CodeIgniter->createController()
#10 [REDACTED]\vendor\codeigniter4\framework\system\CodeIgniter.php(361): CodeIgniter\CodeIgniter->handleRequest(NULL, Object(Config\Cache), false)
#11 [REDACTED]\public\index.php(79): CodeIgniter\CodeIgniter->run()
#12 {main}
CRITICAL - 2023-11-07 16:08:28 --> Unable to connect to the database.
Main connection [MySQLi]: Trying to access array offset on value of type bool
in SYSTEMPATH\Database\BaseConnection.php on line 428.
1 SYSTEMPATH\Database\BaseConnection.php(575): CodeIgniter\Database\BaseConnection->initialize()
2 SYSTEMPATH\Database\BaseBuilder.php(1615): CodeIgniter\Database\BaseConnection->query('SELECT *
FROM `ospos_employees`
JOIN `ospos_people` ON `ospos_people`.`person_id` = `ospos_employees`.`person_id`
WHERE `ospos_employees`.`person_id` = :employees.person_id:', [...], false)
3 APPPATH\Models\Employee.php(94): CodeIgniter\Database\BaseBuilder->get()
4 APPPATH\Models\Employee.php(441): App\Models\Employee->get_info(1)
5 APPPATH\Controllers\Secure_Controller.php(38): App\Models\Employee->get_logged_in_employee_info()
6 APPPATH\Controllers\Attributes.php(19): App\Controllers\Secure_Controller->__construct('attributes')
7 SYSTEMPATH\CodeIgniter.php(914): App\Controllers\Attributes->__construct()
8 SYSTEMPATH\CodeIgniter.php(493): CodeIgniter\CodeIgniter->createController()
9 SYSTEMPATH\CodeIgniter.php(361): CodeIgniter\CodeIgniter->handleRequest(null, Object(Config\Cache), false)
10 FCPATH\index.php(79): CodeIgniter\CodeIgniter->run()
Reply




Theme © iAndrew 2016 - Forum software by © MyBB