Доброго вечера суток, уважаемые! У меня такой срочный вопрос! Дело в том, что я до этого НИКОГДА не выполнял подобных подключений и поэтому ПРОШУ подробной помощи в этом вопросе! В общем так, есть 2 компьютера(сначала хотел протестировать именно так) и они подключены по сети(LAN), на обоих, ясное дело, стоит MySQL-server и MySQL Tools, Апатч тоже есть на обоих компьютерах! Сеть рабочая, проверял! Итак вопрос! Я сделал один из компов сервером(сунул туда саму SQL-базу, а на втором попытался выполнить подключение к этому серверу по средствам: PHP: $connection = mysql_connect("!!!СЮДА я вписал имя компьютера, где находится база!!!", "!!!тут я вписал пользователя, которого создал в MySQL administrator и дал ему все привелегии к необходимой БД!!!", "ПАРОЛЬ, ясное дело") or die("Could not connect"); 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 ? Не хочу гадать Прошу вас, объясните, мне и помогите, я в первый раз выполняю подключение к серверу такими средствами! :!:
На мускуле стоит разрешение подключение удаленных машин? Должно быть закомментирована строка skip-networking и возможно раскомментировано bind-address = 0.0.0.0.
Да, этот вариант я тоже думал, а как правильно записать надо? PHP: $dblocation = "Вот как сюда IP забабахать. Пример можете привести? "; $dbname = "stat_forms"; $dbuser = "А тут всё же тот user, которого я создал на компе-сервере с необходимыми правами?"; $dbpassword = ""; $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpassword);
Jampire, я же говорю, что в первый раз произвожу данную операцию Вы могли объяснить, что имеете ввиду под термином "должно быть закомментирована строка skip-networking и возможно раскомментировано bind-address = 0.0.0.0." ?
Сначала проверьте подключения по ип. А настройки мускула делаются в файле my.cnf. Как узнать ип и где лежит файл зависит от вашей оси. Гугл в помощь.
Файл my.cnf я нашёл, а что в нём должно быть для корректного подключения то? Могу показать его содержимое, если нужно!
Вчера пробовал, сегодня тоже хочу ещё раз попробовать, но вопрос, может я не правильно пишу, как надо записать, чтоб по IP шёл: $dblocation = "К примеру 192.168.0.10"; ? Порт надо писать, или как вообще корректно записывать нужно?
я процедурами не пользуюсь, хз как там это работает. юзаю такую штуку и пофик: PHP: <?php class DB { static public $connect = null; static public function query($query) { return self::$connect->query($query); } static public function escape($string) { return self::$connect->real_escape_string($string); } static public function error() { return self::$connect->errno . ' - ' . DB::$connect->error; } static public function id($query) { self::$connect->query($query); return self::$connect->insert_id; } static public function assoc($query) { if ($result = self::$connect->query($query)) { //return $result->fetch_all(MYSQLI_ASSOC); while ($row = $result->fetch_assoc()) { $r[] = $row; } return $r; } else { return false; } } static public function count($table, $where = '') { $r = self::query('SELECT COUNT(*) FROM `' . $table . '`' . ( $where ? ' WHERE ' . $where : '')); $r = $r->fetch_row(); return $r[0]; } static public function firstrow($query) { if ($result = self::$connect->query($query)) { if ($row = $result->fetch_assoc()) { return $row; } } return false; } } DB::$connect = new mysqli('127.0.0.1', 'walter', 'walter', 'walter'); //DB::query("SET NAMES 'utf8'"); ?> соответственно айпи, и дальше все одинаковое чтобы не путаться
О_О Оу, никогда такое не "юзал" А за место того IP, которое вы записали, нужно записать IP той машины, к которой идёт подключение? И это записывается всё вместо того подключения, которое я использую?
Я попробовал командой ping выявить подключение к серверу через выполнить и он мне выдал, что превышен интервал ожидания для запроса несколько раз и никуда не подключился!! Что делать?? Фаервол даже вырубил на сервере!
У меня тоже такие проблемы бывают)) Раз уж тему создал можете на один вопрос ответить, по поводу Поиска данных в Sql ? Вот есть запрос на поиск из текстового поля, но дело в том что если в запросе используется длинное название того, что мы ищем, то он ничего не находит Я слышал, что оператор LIKE можно заменить! Так ли это на самом деле или что то другое нужно? Вот: PHP: $ath = mysql_query("SELECT id, nazv, period_obr_s, period_obr_po, otdel, id_sotr FROM forms WHERE UPPER(nazv) LIKE '%".strtoupper($_POST['searchform'])."%'");