За последние 24 часа нас посетили 57950 программистов и 1845 роботов. Сейчас ищут 1134 программиста ...

Вывести данные из двух разных бд

Тема в разделе "PHP для новичков", создана пользователем leshiy, 11 фев 2016.

  1. leshiy

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

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    Подключился к разным бд
    Код (Text):
    1. <?
    2. $db1 = mysql_connect('localhost', 'root', '',true) or die (mysql_error());
    3. mysql_select_db('aaa',$db1) or die (mysql_error($db1));
    4.  
    5. $db2 = mysql_connect('localhost', 'root', '',true) or die (mysql_error());
    6. mysql_select_db('bbb',$db2) or die (mysql_error());
    7. ?>
    вот код который выводит данные только из одной бд
    Код (Text):
    1.             <?php
    2.     $result1 = mysql_query("SELECT mini_img AS mini FROM aaa.date");
    3.     if (mysql_num_rows($result1) > 0) {
    4.        while ($myrow1 = mysql_fetch_array($result1)) {
    5. echo ''.$myrow1[mini].'<br>';
    6.         }
    7. }
    8. ?>
    помогите в одном запросе вывести mini_img из одной и второй одинаковых бд.
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    вроде как можно указать соединение, либо с первой базой, либо со второй (;
     
  3. leshiy

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

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    соединение есть и с первой и со второй бд.
    Код (Text):
    1. <?
    2. $db1 = mysql_connect('localhost', 'root', '',true) or die (mysql_error());
    3. mysql_select_db('aaa',$db1) or die (mysql_error($db1));
    4.  
    5. $db2 = mysql_connect('localhost', 'root', '',true) or die (mysql_error());
    6. mysql_select_db('bbb',$db2) or die (mysql_error());
    7. ?>
    8.             <?php
    9.     $result1 = mysql_query("SELECT mini_img AS mini FROM aaa.date");
    10.     if (mysql_num_rows($result1) > 0) {
    11.        while ($myrow1 = mysql_fetch_array($result1)) {
    12. echo ''.$myrow1[mini].'<br>';
    13.         }
    14. }
    15. ?>
    16.             <?php
    17.     $result5 = mysql_query("SELECT mini_img AS www FROM bbb.date");
    18.     if (mysql_num_rows($result5) > 0) {
    19.        while ($myrow5 = mysql_fetch_array($result5)) {
    20. echo ''.$myrow5[www].'';
    21.         }
    22. }
    23. ?>
    так все работает, но мне нужно в одном запросе что бы потом сравнить их.
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    leshiy, видимо не до конца понял меня )))
    я не говорю что нет соединения, а указываю, что для каждого mysql_query можно указать соединение ((:)
    а уже из полученных 2х массивов - делать перебор (;
     
  5. leshiy

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

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    и как это сделать?
     
  6. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    в начале получаешь из 2х баз данные, а потом перебираешь в цикле (:)
     
  7. leshiy

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

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    вот вывод данных из двух бд
    Код (Text):
    1.       <?php
    2.     $result1 = mysql_query("SELECT mini_img AS mini FROM aaa.date");
    3.     if (mysql_num_rows($result1) > 0) {
    4.        while ($myrow1 = mysql_fetch_array($result1)) {
    5. echo ''.$myrow1[mini].'<br>';
    6.         }
    7. }
    8. ?>
    9.          <?php
    10.     $result5 = mysql_query("SELECT mini_img AS www FROM bbb.date");
    11.     if (mysql_num_rows($result5) > 0) {
    12.        while ($myrow5 = mysql_fetch_array($result5)) {
    13. echo ''.$myrow5[www].'';
    14.         }
    15. }
    16. ?>
    а вот как их соединить не знаю.
     
  8. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    можно попробовать так,
    Код (PHP):
    1. if((mysql_num_rows($result1) > 0) && (mysql_num_rows($result5) > 0))
    2. {
    3. while (($myrow1 = mysql_fetch_array($result1)) && ($myrow5 = mysql_fetch_array($result5)) {
    4. echo ''.$myrow1['mini'] .' - ' . $myrow5['www'] '<br>';
    5.         }
    6. }
    7.  
    или что то типо этого... суть уловил думаю (:)
     
  9. leshiy

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

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    У меня в 1-ой базе 3 поля а во 2-ой 2 и выводится по 2.
    Значит чего то не то.
     
  10. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    чуя я
    1. кто-то не отличает базу от таблицы. можно и не продолжать, но
    2. соединяться рутом это плохо
    3. когда оба соединения к одному хосту и из под одного пользователя, достаточно иметь одно соединение.
    везде в тексте запроса можно упоминать имя базы.

    автор, объясни цель своих телодвижений
     
  11. leshiy

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

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    Мне нужно что бы при наполнении одной бд из других бд отсеивались бы дубли.
    Вроде бы понятно объяснил.
     
  12. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    зачем ты их на несколько бд разделил тогда?
     
  13. leshiy

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

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    Да потому что они на разных серверах лежат.
     
  14. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну тогда очень аккуратненько выбираешь айдишнички, сверяешь, уникальные индексы на поля наляпываешь и т.п.
     
  15. leshiy

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

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    А чуток попонятнее.
     
  16. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    А здесь в обоих случаях написал локалхост. Страаанно.