Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Запрос в базу
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Запрос в базу

Страниц (1): [1]
 

1. pro100deadly - 11 Января, 2015 - 14:12:11 - перейти к сообщению
Доброго времени суток, появилась проблема:

Есть такой код:

PHP:
скопировать код в буфер обмена
  1. require("template/include/cfg.php");
  2. $connect = @mysql_connect("$server[host]", "$server[user]", "$server[pass]") or die (mysql_error());
  3. $db = mysql_select_db ("$server[rdb]", $connect) or die (mysql_error());
  4. // Подключение к базе сервера и выбор базы данных сервера!
  5.                
  6. $connect2 = mysql_connect("$site[host]", "$site[user]", "$site[pass]") or die (mysql_error());
  7. // Подключение к базе сайта!


В чём вопрос?

Есть 2 различные базы, это сервера и сайта

1. Подключение к базе сервера выполняется успешно и бд тоже выбирает, и вывод информации тоже!
2. Со вторым подключением тоже хорошо но, если делать выборку из базы, а она у меня разная,
то вывод с 1 подключения убирается, а со второй работает..

запросы к базе сервера:
PHP:
скопировать код в буфер обмена
  1. $query = @mysql_query("SELECT * FROM account WHERE username='$login' LIMIT 1");
  2. $res = @mysql_fetch_array($query);
  3. // Дальше вывод


запрос к базе сайта сделать не могу, точней не знаю как в одном скрипте выбрать 2 различные базы,
если делать выборку для 2 соединения, то первый не работает, и на оборот.
2. Мелкий - 11 Января, 2015 - 14:25:05 - перейти к сообщению
Уберите @
См. второй параметр функций mysql_*
Довольно насиловать трупы. Функции mysql_* устарели больше десяти лет назад. Используйте PDO или mysqli.
3. pro100deadly - 11 Января, 2015 - 14:28:42 - перейти к сообщению
Мелкий Вы не поняли моего вопроса,

Мне нужно в 1 скрипте сделать 2 разных подключения к mysql, и 2 разных выбора базы mysql.

и сделать вывод информации с каждой бд.

и всё это в одной функции, скрипте
4. Мелкий - 11 Января, 2015 - 14:30:51 - перейти к сообщению
Я прекрасно понял ваш вопрос. Ответ дан между двумя актами больного биться по рукам за говнокод.
5. 3d_killer - 11 Января, 2015 - 14:36:03 - перейти к сообщению
Мелкий пишет:
Довольно насиловать трупы. Функции mysql_* устарели больше десяти лет назад. Используйте PDO или mysqli.

мне кажется это уроки Попова дают такие знания использования mysql_*
6. Мелкий - 11 Января, 2015 - 15:30:58 - перейти к сообщению
3d_killer, не только. Я сам начинал именно с mysql_* в 2009, когда они уже протухли на пять лет. И никто по рукам не бил. Огромное количество текста понаписано по mysql_* и по ним всё ещё учатся.
7. ytrewq123 - 11 Января, 2015 - 16:44:45 - перейти к сообщению
Была такая же проблема с соединением с 2, 3, 10, базами.
Вам просто надо $connect и $connect2. Подставлять как второй параметр.
Пример.

PHP:
скопировать код в буфер обмена
  1.  
  2. $db=mysql_connect(‘host’, ‘user’, ‘pas’);
  3. mysql_select_db(‘baza’,$db);
  4.  
  5. $result=mysql_query("select * from tablica", $db);
  6.  
  7.  
  8.  

ВАШЕ С 2 БАЗАМИ.
PHP:
скопировать код в буфер обмена
  1.  
  2. $connect =mysql_connect(‘host’, ‘user, ‘pas’);
  3. mysql_select_db(‘baza’, $connect);
  4. $result=mysql_query("select * from tablica ", $connect);
  5.  
  6. Выводить результат
  7. mysql_close($connect);
  8.  
  9. $connect2=mysql_connect(‘host’, ‘user’, ‘pas’);
  10. mysql_select_db(‘baza’, $connect2);
  11. $result=mysql_query("select * from tablica ", $connect2);
  12.  
  13. Выводить результат
  14. mysql_close($connect2);
  15.  

То есть 2 соединения с разными базами и в них пишите всё как обычно. Важно как и в MYSQLI везде тегать подключение.
И гляньте тута
[PHP][/PHP]

И гляньте тута
http://orlova[dot]rsue[dot]ru/content/ss[dot][dot][dot]hp&mysql[dot]htm

 

Powered by ExBB FM 1.0 RC1