(mysql) помогите правельно сформировать запрос

Discussion in 'PHP' started by Vinsik, 17 Feb 2009.

  1. Vinsik

    Vinsik Elder - Старейшина

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    требуется запрос поиска и замены
    Уменя есть таблица forum
    и в ней надо заменить все с sayt.lan на sayt.ru
    я пишу
    update forum SET forum = replace( ‘sayt.lan’, ‘sayt.ru’)
    и не получается( Помогите знающие люди плиииииз :confused:
     
  2. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    UPDATE forum SET forum=REPLACE(forum, 'sayt.lan', 'sayt.ru');
     
  3. Vinsik

    Vinsik Elder - Старейшина

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    phpmyadmin грит #1046 - No database selected
     
  4. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Ну выбери.. USE 'database' Или слева по списку кликни...
     
  5. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    зайди через phpmyadmin сперва в forum а потом уже виполни запрос..
     
    1 person likes this.
  6. Vinsik

    Vinsik Elder - Старейшина

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    ОЙ! Биг сори! Уменя не таблица форум а база форум!!!!
     
  7. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    И чё? Апдейт идёт по таблице... Фишку прохавал? Подставляй свои табы и поля и вперёд.
     
  8. Vinsik

    Vinsik Elder - Старейшина

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    А какой запрос сделать чтоб мне искать sayt.lan по всему моему мускулу и заменять на sayt.ru
     
  9. Vinsik

    Vinsik Elder - Старейшина

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    Да прахавал..... тока слишком много полей где садержится сайт.лан желательно бы по всей БД запрос такой
     
  10. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Vinsik, тогда экспорти всю базу в SQL скрипт. Делай замену в нём. Потом поднимай этот дамп. Больше никак. Или запросом по всем полям по одиночке.
     
  11. Vinsik

    Vinsik Elder - Старейшина

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    опа, точняк, в текстовуху, там все поменять и обратно на место) спс мужик! +++
     
  12. Zitt

    Zitt Elder - Старейшина

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    две головы хорошо, а одна умная лучше =)))
     
  13. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    $query_bases = ('show databases;');
    все это в массив ассоциативный
    потом в цикле делаешь use
    $query_tables = ('show tables');
    точно так же запоминаешь таблицы в такой же массив
    и опять в цикле select * from $tables bla bla where blabla
     
  14. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    130
    Reputations:
    4
    может где то так но я спать пошел

    $link = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    if (!link)
    {
    exit ("<p> cant connect to database </p>");
    }
    $query_bases = "show databases";
    $result_bases = mysql_query($query_bases);
    if(!$result_bases) {echo "error bases read";}

    else {
    while ($output = mysql_fetch_assoc($result))
    {
    $bases[] = $output;
    }

    return ($bases);

    }
    }


    $query_tables = "show tables";
    for ($i=0;$i<count($bases);$i++)
    {
    mysql_select_db($bases[$i], $link);

    $result_table= mysql_query($query_table);
    if(!result_table) {echo "error bases tables";}

    else {
    while ($output_tables = mysql_fetch_assoc($result_table))
    {
    $tables[] = $output_table;
    $query = "UPDATE $tables SET forum=REPLACE(forum, 'sayt.lan', 'sayt.ru');"
    }

    return ($tables);

    }
    }
     
    #14 barnaki, 18 Feb 2009
    Last edited: 18 Feb 2009