function connect($db_host, $db_user, $db_pass, $db_name){
$host = mysql_escape_string($db_host);
$login = mysql_escape_string($db_user);
$pass = mysql_escape_string($db_pass);
$db = mysql_escape_string($db_name);
$link=mysql_connect($host, $login, $pass);
mysql_select_db($db, $link);
$result=mysql_query("SET NAMES UTF8"); // т.е. ваша кодировка
@mysql_fetch_assoc($result);
return $link;
}
Использую так
$con = connect('localhost', 'root', '', 'db');
$sql = "SELECT * FROM `table`";
$result = mysql_query($sql) or die('error');
$row = mysql_fetch_assoc($result);
mysql_close($con);
unset($con);
$con = connect('localhost1', 'root1', 'root1', 'db1');
$sql = "SELECT * FROM `table1`";
$result = mysql_query($sql) or die('error1');
$row = mysql_fetch_assoc($result);
mysql_close($con);
unset($con);
Смотрю переменную $con.
con=Resource id #4
con=Resource id #6
то есть подключается нормально, но вот например второй запрос на выборку не работает.
Сейчас тестю на одной и той же БД (подключаюсь, отключаюсь, подключаюсь, отключаюсь). То есть данные для доступа в обеих случаях одинаковые
Правильно ли я делаю или где-то есть ошибка?
Спустя 9 минут, 7 секунд (6.02.2012 - 15:08) ZSH написал(а):
mysql_query($sql,$con);
второй параметр ссылка на идентификатор соединения с базозй данных
Спустя 43 секунды (6.02.2012 - 15:08) quickxyan написал(а):
Таксс, mysql_close($con) убрал. Вроде теперь работает и выставил каждому подключению отдельную переменную для подключения $con1, $con2
Вот нашел
Вот нашел
Цитата |
Если у баз данных один пользователь, то можно просто написать: Select * from `db-name`.`table-name` И все должно заработать. По крайней мере в Mysql 4 все работает на отлично. |
Спустя 1 минута, 15 секунд (6.02.2012 - 15:10) quickxyan написал(а):
ZSH
спасибо, буду экспериментировать дальше.
спасибо, буду экспериментировать дальше.
Спустя 14 секунд (6.02.2012 - 15:10) Winston написал(а):
Так
Цитата (quickxyan @ 6.02.2012 - 13:59) |
но вот например второй запрос на выборку не работает. |
Какой запрос?
Можно так попробовать
Свернутый текст
$con = connect('localhost', 'root', '', 'db');
$sql = "SELECT * FROM `table`";
$result = mysql_query($sql, $con) or die('error');
$row = mysql_fetch_assoc($result);
mysql_close($con);
unset($con);
$con = connect('localhost1', 'root1', 'root1', 'db1');
$sql = "SELECT * FROM `table1`";
$result = mysql_query($sql, $con) or die('error1');
$row = mysql_fetch_assoc($result);
mysql_close($con);
unset($con);
Цитата (quickxyan @ 6.02.2012 - 13:59) |
$db = mysql_escape_string($db_name); $link=mysql_connect($host, $login, $pass); |
Хм... а mysql_escape_string у тебя разве работает до соединения с БД? :blink: И зачем ты обрабатываешь вообще данные для коннекта это ф-ей? :huh:
Спустя 4 минуты, 19 секунд (6.02.2012 - 15:14) killer8080 написал(а):
Цитата (Winston @ 6.02.2012 - 14:10) |
Хм... а mysql_escape_string у тебя разве работает до соединения с БД? |
работает, это же не mysql_real_escape_string, только там он нужен как корове седло.
Спустя 4 минуты, 23 секунды (6.02.2012 - 15:19) Winston написал(а):
Блин, а мне показалось mysql_real_escape_string

Спустя 7 минут, 8 секунд (6.02.2012 - 15:26) quickxyan написал(а):
Winston
killer8080
с седлом согласен
закралась эта проверка в код и даже не знаю когда
Да работает, но все равно убрал.
killer8080
с седлом согласен


Да работает, но все равно убрал.
Спустя 19 минут, 29 секунд (6.02.2012 - 15:45) quickxyan написал(а):
в общем странно как-то получается. Сначала не работал запрос на добавление в БД. Потом после шаманств заработал, но дальше уже идет еще один запрос на выборку, а он уже не работает :(
Подключение есть. Запрос рабочий проверял в PMA. А вот уже
ПУСТО.
Подключение есть. Запрос рабочий проверял в PMA. А вот уже
$result = mysql_query($sql, $con7);
echo $result;
ПУСТО.
Спустя 1 минута, 48 секунд (6.02.2012 - 15:47) Winston написал(а):
$result = mysql_query($sql, $con7) or die(mysql_error());
echo $result;
Спустя 6 минут, 46 секунд (6.02.2012 - 15:54) quickxyan написал(а):
Неожиданно
Цитата |
No database selected |
хотя имя БД идет в функцию.......
Спустя 13 минут, 41 секунда (6.02.2012 - 16:08) quickxyan написал(а):
Бррррр, нашел 
Я брал данные для подключения из разных файлов. В первом было все правильно, а во втором первая буква БД не та. Вот так вот и получилась чихорда.
Спасибо за помощь мужики!

Я брал данные для подключения из разных файлов. В первом было все правильно, а во втором первая буква БД не та. Вот так вот и получилась чихорда.
Спасибо за помощь мужики!
_____________
печатаю со скоростью 320 минут в знак...
плюсуем карму не стесняемся