За последние 24 часа нас посетили 18446 программистов и 1600 роботов. Сейчас ищут 936 программистов ...

Срочно помогите с подключением по LAN'y!!

Тема в разделе "PHP и базы данных", создана пользователем yfnf3, 24 фев 2011.

  1. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    Доброго вечера суток, уважаемые!
    У меня такой срочный вопрос!
    Дело в том, что я до этого НИКОГДА не выполнял подобных подключений и поэтому ПРОШУ подробной помощи в этом вопросе!
    В общем так, есть 2 компьютера(сначала хотел протестировать именно так) и они подключены по сети(LAN), на обоих, ясное дело, стоит MySQL-server и MySQL Tools, Апатч тоже есть на обоих компьютерах! Сеть рабочая, проверял! Итак вопрос! Я сделал один из компов сервером(сунул туда саму SQL-базу, а на втором попытался выполнить подключение к этому серверу по средствам:
    PHP:
    1. $connection = mysql_connect("!!!СЮДА я вписал имя компьютера, где находится база!!!", "!!!тут я вписал пользователя, которого создал в MySQL administrator и дал ему все привелегии к необходимой БД!!!", "ПАРОЛЬ, ясное дело") or die("Could not connect");
    2. mysql_select_db("!!!Тут как раз выборка самой БД!!!") or die("Could not select database");
    Далее когда я попытался, с помощью моего интерфейса подключиться к серверу, то у меня НИЧЕГО не вышло! Он(комп) думал, думал, а потом выдал 3 ошибки:

    1. "Warning: mysql_connect() [function.mysql-connect]: [2002] Попытка установить соединение была безуспешной, т.к. от другого (trying to connect via tcp://admin-pc:3306) in Z:\"ПУТЬ к файлу" on line 3"

    2. "Warning: mysql_connect() [function.mysql-connect]: Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. in Z:\"ПУТЬ к файлу" on line 3" on line 3"

    3. Fatal error: Maximum execution time of 30 seconds exceeded in Z:\"ПУТЬ к файлу" on line 3

    p.s.
    Так же я выполнял подключение у себя в универе в компьютерном классе и там всё вышло удачно! Что то с IP ? Не хочу гадать:(

    Прошу вас, объясните, мне и помогите, я в первый раз выполняю подключение к серверу такими средствами!

    :!:
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    попробуй вписать IP а не имя компа
     
  3. Jampire

    Jampire Активный пользователь

    С нами с:
    22 авг 2009
    Сообщения:
    181
    Симпатии:
    0
    Адрес:
    Гомель
    На мускуле стоит разрешение подключение удаленных машин? Должно быть закомментирована строка skip-networking и возможно раскомментировано bind-address = 0.0.0.0.
     
  4. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    Да, этот вариант я тоже думал, а как правильно записать надо?

    PHP:
    1. $dblocation = "Вот как сюда IP забабахать. Пример можете привести? ";
    2. $dbname = "stat_forms";
    3. $dbuser = "А тут всё же тот user, которого я создал на компе-сервере с необходимыми правами?";
    4. $dbpassword = "";
    5. $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpassword);
     
  5. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    Jampire, я же говорю, что в первый раз произвожу данную операцию:(
    Вы могли объяснить, что имеете ввиду под термином "должно быть закомментирована строка skip-networking и возможно раскомментировано bind-address = 0.0.0.0." ?
     
  6. Jampire

    Jampire Активный пользователь

    С нами с:
    22 авг 2009
    Сообщения:
    181
    Симпатии:
    0
    Адрес:
    Гомель
    Сначала проверьте подключения по ип. А настройки мускула делаются в файле my.cnf. Как узнать ип и где лежит файл зависит от вашей оси. Гугл в помощь.
     
  7. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    Файл my.cnf я нашёл, а что в нём должно быть для корректного подключения то?
    Могу показать его содержимое, если нужно!
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    с ip пробовал?
     
  9. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    Вчера пробовал, сегодня тоже хочу ещё раз попробовать, но вопрос, может я не правильно пишу, как надо записать, чтоб по IP шёл:
    $dblocation = "К примеру 192.168.0.10"; ?
    Порт надо писать, или как вообще корректно записывать нужно?
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я процедурами не пользуюсь, хз как там это работает.

    юзаю такую штуку и пофик:

    PHP:
    1. <?php
    2.  
    3. class DB {
    4.  
    5.   static public $connect = null;
    6.  
    7.   static public function query($query) {
    8.     return self::$connect->query($query);
    9.   }
    10.  
    11.   static public function escape($string) {
    12.     return self::$connect->real_escape_string($string);
    13.   }
    14.  
    15.   static public function error() {
    16.     return self::$connect->errno . ' - ' . DB::$connect->error;
    17.   }
    18.  
    19.   static public function id($query) {
    20.     self::$connect->query($query);
    21.     return self::$connect->insert_id;
    22.   }
    23.  
    24.   static public function assoc($query) {
    25.     if ($result = self::$connect->query($query)) {
    26.       //return $result->fetch_all(MYSQLI_ASSOC);
    27.       while ($row = $result->fetch_assoc()) {
    28.         $r[] = $row;
    29.       }
    30.       return $r;
    31.     } else {
    32.       return false;
    33.     }
    34.   }
    35.  
    36.   static public function count($table, $where = '') {
    37.     $r = self::query('SELECT COUNT(*) FROM `' . $table . '`' . ( $where ? ' WHERE ' . $where : ''));
    38.     $r = $r->fetch_row();
    39.     return $r[0];
    40.   }
    41.  
    42.   static public function firstrow($query) {
    43.     if ($result = self::$connect->query($query)) {
    44.       if ($row = $result->fetch_assoc()) {
    45.         return $row;
    46.       }
    47.     }
    48.     return false;
    49.   }
    50.  
    51. }
    52.  
    53. DB::$connect = new mysqli('127.0.0.1', 'walter', 'walter', 'walter');
    54. //DB::query("SET NAMES 'utf8'");
    55. ?>
    56.  
    соответственно айпи, и дальше все одинаковое чтобы не путаться :D
     
  11. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    О_О
    Оу, никогда такое не "юзал":)
    А за место того IP, которое вы записали, нужно записать IP той машины, к которой идёт подключение?
    И это записывается всё вместо того подключения, которое я использую?
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну типа того.
     
  13. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    [​IMG]
     
  14. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    Пишет всё тоже самое что и с моим подключением, выходит дело не в IP =((
    Что же тогда?....
     
  15. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    Апельсин прекрати, я уже осознал свою тупость:))
     
  16. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    Я попробовал командой ping выявить подключение к серверу через выполнить и он мне выдал, что превышен интервал ожидания для запроса несколько раз и никуда не подключился!! Что делать?? Фаервол даже вырубил на сервере!
     
  17. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    yfnf3
    проблема с сетью налицо
     
  18. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    Всё работает , спасибо)))
    Дело было в браудмаузере и каловом Каспере
     
  19. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    как-то мне даже в облом искать смайлик с фейспалмом 8(
     
  20. yfnf3

    yfnf3 Активный пользователь

    С нами с:
    14 дек 2010
    Сообщения:
    36
    Симпатии:
    0
    :D
    У меня тоже такие проблемы бывают))
    Раз уж тему создал можете на один вопрос ответить, по поводу Поиска данных в Sql ?

    Вот есть запрос на поиск из текстового поля, но дело в том что если в запросе используется длинное название того, что мы ищем, то он ничего не находит:( Я слышал, что оператор LIKE можно заменить! Так ли это на самом деле или что то другое нужно?
    Вот:

    PHP:
    1. $ath = mysql_query("SELECT id, nazv, period_obr_s, period_obr_po, otdel, id_sotr FROM forms WHERE  UPPER(nazv) LIKE '%".strtoupper($_POST['searchform'])."%'");