2014-01-27 4 views
0

Я использую CI, и моя база данных находится на хосте мечты. И когда я подключаю базу данных. он дает ошибку, как этотОшибка базы данных

Ошибка базы данных

произошедших

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

Имя файла:
/home/demo_smartmobe/demos.smartmobe.com/nayacinema/webpart/third_party/MX/Loader.php

Порядковый номер: 98

мой CI-код для подключения к базе данных is

$db['default']['hostname'] = 'hostname'; 
$db['default']['username'] = 'username'; 
$db['default']['password'] = '​******'; 
$db['default']['database'] = 'database_name'; 
$db['default']['dbdriver'] = 'mysql'; 
$db['default']['dbprefix'] = ''; 
$db['default']['pconnect'] = TRUE; 
$db['default']['db_debug'] = TRUE; 
$db['default']['cache_on'] = FALSE; 
$db['default']['cachedir'] = ''; 
$db['default']['char_set'] = 'utf8'; 
$db['default']['dbcollat'] = 'utf8_general_ci'; 
$db['default']['swap_pre'] = ''; 
$db['default']['autoinit'] = TRUE; 
$db['default']['stricton'] = FALSE; 

имя пользователя и пароль верны. и я попробовал простой PHP-код, и он работает. Код Php находится здесь.

$hostname = "mysql.demos.smartmobe.com"; // eg. mysql.yourdomain.com (unique) 
$username = "nayacinema"; // the username specified when setting-up the database 
$password = "****"; // the password specified when setting-up the database 
$database = "nayacinema"; // the database name chosen when setting-up the database (unique) 



$con=mysqli_connect($hostname,$username,$password,$database); 
// Check connection 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
}else{ 
    echo 'done'; 
} 
$result = mysqli_query($con,"SELECT * FROM TblUsers"); 
print_r($result); 

while($row = mysqli_fetch_array($result)) 
{ 
    echo $row['FirstName'] . " " . $row['LastName']; 
    echo "<br>"; 
} 

В чем проблема? Я добавил папку MX в папку Ci, чтобы сделать ее HMVC. И ошибка показана в /third_party/MX/Loader.php. В локальном хосте в работах, но в прямом эфире есть ошибка. Помогите мне. Thank u

ответ

0

Вы указали свое имя пользователя и пароль правильно, но как насчет имени хоста?

Измените свою настройку имени хоста, чтобы быть вашим правильным именем хоста.

E.g.

$db['default']['hostname'] = 'localhost';

или

$db['default']['hostname'] = '127.0.0.1';

Вам также необходимо изменить $db['default']['database_name'] совпадать с именем базы данных, которую вы пытаетесь использовать.

+0

моя база данных находится на Dreamhost, и я использовал 'mysql.demos.smartmobe.com'.Имя хоста должно быть «127.0.0.1»? Я совершенно смущен. база данных также верна – Meow

+0

Я не знаю, что ваш сервер базы данных, безусловно, вам нужно. – Ryan

+0

Не работает. Является ли проблема htaccess для подключения базы данных? – Meow

0

Вам необходимо получить информацию о подключении к базе данных от Dreamhost. Вы можете найти те, которые вы настроили для этого домена в своей веб-панели Dreamhost, на вкладке «Базы данных MySQL» с левой стороны. На этой странице вы можете найти имя хоста, базу данных и имя пользователя. Если вы нажмете на имя пользователя, имеющее доступ к базе данных, вы можете узнать, что такое ваш пароль. Поместите эти значения в ваш конфигурационный файл database.php, как в приведенных ниже полях.

$db['default']['hostname'] = 'mysql.example.com'; 
$db['default']['port']  = "3306"; 
$db['default']['username'] = 'mysql_username'; 
$db['default']['password'] = '​mysql_password'; 
$db['default']['database'] = 'mysql_database'; 
0

Прежде всего, если вы обращаетесь к базе данных на одном компьютере. (localhost and 127.0.0.1 - это то же самое)

Если нет, имя хоста должно быть идентифицировано DNS-именем или с включенным доменным именем.

И если порт базы данных не является значением по умолчанию (3306), вы должны включить его в конфигурацию.

Как код в РНР:

$db['default']['hostname'] = 'mysql.demos.smartmobe.com'; 
$db['default']['username'] = 'nayacinema'; 
$db['default']['password'] = '​******'; 
$db['default']['database'] = 'nayacinema'; 
$db['default']['dbdriver'] = 'mysql'; 
$db['default']['dbprefix'] = ''; 
$db['default']['pconnect'] = TRUE; 
$db['default']['db_debug'] = TRUE; 
$db['default']['cache_on'] = FALSE; 
$db['default']['cachedir'] = ''; 
$db['default']['char_set'] = 'utf8'; 
$db['default']['dbcollat'] = 'utf8_general_ci'; 
$db['default']['swap_pre'] = ''; 
$db['default']['autoinit'] = TRUE; 
$db['default']['stricton'] = FALSE; 
//$db['default']['port'] = 3307;  //modify if the port is not the default 3306 
Смежные вопросы