Вниз  PHP и мелкие вопросы
- 22.04.2014 / 18:38
kingdosya
  Пользователь

kingdosya 
Сейчас: Offline
Почему здесь не получается установить соединение с сервером Мускюл.
В файле система.тхт
все написано корректно! По моему здесь проблема в кавычках..... попробовал выставлять кавычки но не получилось.
  1. <?php
  2. $fp=fopen("system.txt","r");
  3. $name_db=fgets($fp);
  4. $server_mysql=fgets($fp);
  5. $user_mysql=fgets($fp);
  6. $password_mysql=fgets($fp);
  7. fclose($fp);
  8.  
  9. if (!mysql_connect($server_mysql,$user_mysql,$password_mysql)) die ('Не удалось подключиться к серверу Mysql!');
  10. elseif (!mysql_select_db($name_db)) die ('Не удалось выбрать базу данных!');
  11. ?>


Изменено kingdosya (22.04 / 18:46) (всего 1 раз)
- 22.04.2014 / 18:47
Helltar
  Пользователь

Helltar 
Сейчас: Offline
kingdosya, system.txt, совсем упоролся?

Открой любую CMS:

  1. function db_connect()
  2. {
  3.     require(ROOTPATH . 'incfiles/db.php');
  4.     $db_host = isset($db_host) ? $db_host : 'localhost';
  5.     $db_user = isset($db_user) ? $db_user : '';
  6.     $db_pass = isset($db_pass) ? $db_pass : '';
  7.     $db_name = isset($db_name) ? $db_name : '';
  8.     $connect = @mysql_connect($db_host, $db_user, $db_pass) or die('Error: cannot connect to database server');
  9.     @mysql_select_db($db_name) or die('Error: specified database does not exist');
  10.     @mysql_query("SET NAMES 'utf8'", $connect);
  11. }

- 22.04.2014 / 18:47
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
kingdosya, корректно, но неправильно.
Во-первых, читать данные подключения к БД из txt файла это небезопасно. Во-вторых, разберись, что делает функция fgets, по-моему у тебя в переменные попадает не то, что надо.
Ну и на будущее, если подобная ситуация возникнет, проверь, что заносится в эти переменные (тупо выведи их содержимой через echo), если всё нормально, тогда смотри, какую ошибку mysql выдаёт:
  1. echo 'ERROR ', mysql_errno(), ' ', mysql_error();

__________________
 let live
- 22.04.2014 / 19:04
kingdosya
  Пользователь

kingdosya 
Сейчас: Offline
aNNiMON (22.04.2014/18:47)
Во-вторых, разберись, что делает функция fgets... (тупо выведи их содержимой через echo), если всё нормально, тогда смотри, какую ошибку mysql выдаёт:echo 'ERROR ', mysql_errno(), ' ', mysql_error();
Функция Fgets() читает одну строку файла. Проверил. В переменные записывается правильные значение. Вот ошибка: Warning: mysql_connect(): Unknown MySQL server host 'mysql.fastfreehost.ru ' (1) in /home/u145297572/public_html/condb.php on line 9 Не удалось подключиться к серверу Mysql!
- 22.04.2014 / 19:10
kingdosya
  Пользователь

kingdosya 
Сейчас: Offline
Helltar (22.04.2014/18:47)
kingdosya, system.txt, совсем упоролся?

Открой любую CMS:

function db_connect()
{
     require(ROOTPATH . 'incfiles/db.php');
     $db_host = isset($db_host) ? $db_host : 'localhost';
     $db_
Спасибо. Но Скажи причину, почему мой код не работает?
- 22.04.2014 / 19:14
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
kingdosya, Пробел в конце это тоже "правильное значение"?
__________________
 let live

Изменено aNNiMON (22.04 / 19:15) (всего 1 раз)
- 22.04.2014 / 19:19
kingdosya
  Пользователь

kingdosya 
Сейчас: Offline
aNNiMON (22.04.2014/19:14)
kingdosya, Пробел в конце
Значить в конце переменной $server_mysql есть пробел?
- 22.04.2014 / 19:20
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
kingdosya, trim(fgets($fp))
Вот так напиши
__________________
 let live
- 22.04.2014 / 19:21
web_demon
  Супервизор

web_demon 
Сейчас: Offline
kingdosya, в файле в строке с хостом.
- 22.04.2014 / 19:27
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
web_demon, Я думаю там не пробел, а от переноса \r\n остаётся один символ.
kingdosya, и всё-таки прислушайся к совету Helltar'a, каждый раз при одключении к БД открывать файл и читать оттуда конфиги это очень неоптимальный вариант.
__________________
 let live
Наверх  Всего сообщений: 4740
Фильтровать сообщения
Поиск по теме
Файлы топика (129)