#php #codeigniter
#php #codeigniter
Вопрос:
Это function run_blank_sql()
я создал для Installing
файла SQL для Database
. но этот код $this->load->database();
выдает мне ошибку. No database selected
.
У меня также есть autoloaded
Database
. $autoload['libraries'] = array('database','session');
А также database
подключен в config/database.php
'hostname' => 'localhost',
'username' => 'root',
'password' => '********',
'database' => 'waqas',
'dbdriver' => 'mysqli',
И database
также создается в Mysql
.
function run_blank_sql() {
$this->load->database();
// Set line to collect lines that wrap
$templine = '';
// Read in entire file
$lines = file('./uploads/install.sql');
// Loop through each line
foreach ($lines as $line) {
// Skip it if it's a comment
if (substr($line, 0, 2) == '--' || $line == '')
continue;
// Add this line to the current templine we are creating
$templine .= $line;
// If it has a semicolon at the end, it's the end of the query so can process this templine
if (substr(trim($line), -1, 1) == ';') {
// Perform the query
$this->db->query($templine);
// Reset temp variable to empty
$templine = '';
}
}
}
Комментарии:
1. проверьте свой пароль ..! возможно, это неверно.
2. это похоже на ошибку установки в файле конфигурации вашей базы данных, какую версию CI вы используете? И используете ли вы это на своем локальном хостинге или на производственном сервере? И: как вы создаете базу данных (через cpanel или программно?)
Ответ №1:
Я думаю, вы не выбрали какую-либо базу данных по умолчанию для своего проекта. Вот почему вы получаете эту ошибку. Для выбора вашей базы данных вы должны указать хотя бы одну. в основном база данных загружается внутри конструктора. итак, теперь измените свой код следующим образом.
$this->db = $this->load->database("default",TRUE);