Это моя связь:
Использование CodeIgniter
$db['mysql'] = array(
'dsn' => 'mysql:host=SOMEHOSTNAME;dbname=SOMEDATABASE',
'hostname' => 'SOMEHOSTNAME',
'username' => 'SOME USER',
'password' => 'password',
'database' => 'SOME DATABASE',
'dbdriver' => 'pdo',
);
Это моя локальная связь
$db['mysql'] = array(
'dsn' => 'mysql:hostname=localhost; dbname=1410inventory',
'hostname' => '',
'username' => 'root',
'password' => '',
'database' => '',
'dbdriver' => 'pdo',
);
Мой журнал тянет это:
ERROR - 2018-07-23 19:36:18 --> PDO: Invalid or non-existent subdriver
Пожалуйста помоги Обновлено: это тестовая БД.
Что касается вашего вопроса, где запускается код? Находится ли он в той же среде хостера, что и база данных? Разрешены ли удаленные подключения этим провайдером? Те, которые я использую, не разрешают удаленное подключение к своей базе данных, только локально работающий код.
И поиск - ваш друг: forum.codeigniter.com/archive/index.php?thread-65419.html и stackoverflow.com/questions/32836797/… и другие.






Я вряд ли рекомендую вам не использовать драйвер PDO, поскольку он медленнее, и у вас нет всех построителей запросов codeigniter (подробнее здесь). Вместо этого я рекомендую вам использовать драйвер msqli, и он будет выглядеть так:
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'SomeUserName',
'password' => 'SomePass',
'database' => '1410inventory',
'dbdriver' => 'mysqli',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'development'), //change to production when needed
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Если вы все еще хотите использовать PDO, просто удалите последнюю запятую после 'dbdriver' => 'pdo',, как этот 'dbdriver' => 'pdo', поскольку это последний элемент вашего массива, нет необходимости ставить дополнительную запятую и менять hostname на host, чтобы ваше соединение с локальным хостом выглядело так
$db['mysql'] = array(
'dsn' => 'mysql:host=host_name;dbname=1410inventory',
'username' => 'usr',
'password' => 'pw',
'database' => '1410inventory',
'dbdriver' => 'pdo' );
Привет, Герман Мендьета. Разместите НЕТ информацию о подключении к базе данных в сети !!! Я удалил то, что было в вопросе. Я сильно предлагаю вам сбросить все данные туда и вернуть резервную копию, которая у вас есть (у вас она есть?). Бог знает, что сейчас в этой базе данных!