[sql] Вопросы по БД

Discussion in 'PHP' started by FraiDex, 25 Feb 2008.

Thread Status:
Not open for further replies.
  1. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    InfernoNet \'\' на '' заменить
     
    _________________________
  2. InfernoNet

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

    Joined:
    7 Nov 2007
    Messages:
    248
    Likes Received:
    228
    Reputations:
    -20
    Это баг анонимейзера. Спасибо.
     
  3. OnArs

    OnArs Banned

    Joined:
    1 Aug 2008
    Messages:
    211
    Likes Received:
    13
    Reputations:
    1
    Сам поставил phpmyadmin на сервер, но проблема в том что у меня не достаточно прав для создания новых таблиц и импортирования бекапов прежней базы.

    Как добавить себя прав?
    Такое ощущение, что в /scripts/setup.php нет такой функции, а тот факт что при создании config.inc.php я пишу строки
    $cfg['Servers'][$i]['controluser'] = 'user';
    $cfg['Servers'][$i]['controlpass'] = 'pass';
    Как будто бы вообще игнорируется.

    Подскажите пожалуйста, как добавить себе права?
     
  4. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    пхпадмин тебе не поможет, он работает с правами того пользователя БД, который прописан в конфигах, пропиши туда скажем рута, и будет тебе счастье...
     
  5. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Привет! как в мускуле в поле типа timestamp отменить коректирование времени при апдейте? там пооходу CURRENT_TIMESTAMP нада заменить неа чтот другое но на что .... ? =\\
     
    2 people like this.
  6. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    CURRENT_TIMESTAMP эт текущий таймштамп, чтомы и видим из названия :)
    При апдейте отдельного поля по идее он меняться и не будет, это просто значение по умолчанию (опять таки если я правильно понял о чем ты). Если же не хочешь что бы при вставке строки он выставлялся по умолчанию - убери вообще значение по умолчанию.
     
    1 person likes this.
  7. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    Вопрос такой если удаляю с двух таблиц
    в одной нет записи то не происходит удаление

    вот например

    Code:
    delete comment,page  from comment,page where 
    comenmet.pid = page.id and page.id = 5 ;
    
    если нет коментария на странице удалить не получаеться
    если есть то удаляеться

    Так вот надо ли использовать два запроса или все таки можна сделать и один запрос.

    Code:
    SELECT COUNT(*) from comment where id = pid 
    
    потом проверать если там запись или нет.
     
  8. AkyHa_MaTaTa

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    Не пойму что мешает однозначно определить критерии по которым будет происходить удаления если у тебя уникальный ключи, тем более если у тебя нет прямых зависимостей одной таблицы от другой(а их не так как у тебя возникает такая ситуация что данные в одной таблице есть а в другой нету), то есть:
     
    1 person likes this.
  9. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    Все равно неудаляет страницу если нет комментарий (

    если есть 2 таблиц записи тогда удаляет
     
  10. AkyHa_MaTaTa

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    Да вся трабла в том что у нас нет реальных зависимостей одной таблицы от другой, а логическое and вернет TRUE если оба значения TRUE а у нас это не так(так как нет зависимостей а значит и одно и из условий при проверки может вернуть FALSE), если же будем использовать логическое или(or) то снесем все даные так как оно будет true если одно из значений TRUE, либо писать процедуру либо использовать 2 запроса.
     
    1 person likes this.
  11. Asbury

    Asbury New Member

    Joined:
    8 Feb 2009
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Дарова всем, такой вопрос, дома на локальном хосте забацал сайт, как полагается с бд))

    Нашел халявный хостинг 000webhost.com решил залить, файлы залил, а как дело до бд дошло, за ступарился, в MyAdmin создал БД с нужным именем, а как в саму бд зайти не знаю )) Я так понял, что там не кнопкой а в брауере надо, или мб кто подскажет?
     
  12. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Подскажите, как записывать дату такого формата 28.07.05 (14:09), при помощи запроса, не пребегая к php?
     
  13. AkyHa_MaTaTa

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    Не совсем понял, тебя надо привисти к такому формату или надо из таго формата в unix time формат перевести, если надо привисти то например вот так :
    DATE_FORMAT( FROM_UNIXTIME( UNIX_TIMESTAMP( ) ) , '%d.%m.%y (%k:%i)' )
     
  14. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Скажи тип поля, для которого нужно применить форматирование даты...
     
  15. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    groundhog char :( но могу переделать, если нужно
     
  16. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Я не понял... Ты хочешь дату, которая хранится в CHAR(...) записывать в поле с типом DATETIME? Напиши тип того поля куда ты хочешь сохранять дату, то, что ты сохраняешь из строки это я понял... :)
     
  17. h4ck3r

    h4ck3r New Member

    Joined:
    11 Dec 2007
    Messages:
    5
    Likes Received:
    1
    Reputations:
    0
    Привет всем. Подскажите пожалуйста как сменить кодировку БД с UTF-8 на win1251. Я раздобыл скриптик, но как его настроить хз.

    Code:
    <?php  $db = mysqli_connect('localhost','username','password', 'db');  if(mysqli_connect_errno())  {       echo "Cannot connect to the database - incorrect details";  }    $sql = 'SHOW TABLES';  if ( !( $result = $db->query( $sql ) ) ) {         echo '<span style="color: red;">Get SHOW TABLE - SQL Error: <br>' . "</span>\n";      }         while ( $tables = $result->fetch_row() ) {      echo $tables[0];  # Loop through all tables in this database     $table = $tables[key($tables)];         if ( !( $result2 = $db->query("ALTER TABLE ".$table." COLLATE utf8_general_ci") ) ) {          echo '<span style="color: red;">UTF SET - SQL Error: <br>' . "</span>\n";                   break;             }         print "$table changed to UTF-8 successfully.<br>\n";       # Now loop through all the fields within this table     if ( !($result2 = $db->query("SHOW COLUMNS FROM ".$table) ) ) {            echo '<span style="color: red;">Get Table Columns Query - SQL Error: <br>' . "</span>\n";                   break;             }       while ( $column = $result2->fetch_assoc() )     {        $field_name = $column['Field'];        $field_type = $column['Type'];               # Change text based fields        $skipped_field_types = array('char', 'text', 'enum', 'set');               foreach ( $skipped_field_types as $type )        {                   if ( strpos($field_type, $type) !== false )           {              $sql4 = "ALTER TABLE $table CHANGE `$field_name` `$field_name` $field_type CHARACTER SET utf8 COLLATE utf8_general_ci";              $result4 = $db->query($sql4);                echo "---- $field_name changed to UTF-8 successfully.<br>\n";           }        }     }     echo "<hr>\n";  }  $result->free();  $result2->free();  $result4->free();  ?>
    Что где изменить надо? Подскажите пожалуйста?
     
  18. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Можно сделать для всех таблиц:
    PHP:
    ALTER TABLE `TABLENAME` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;
     
    1 person likes this.
  19. Vinsik

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

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    После импорта навикатом базы, которой уже нет на сервере.... все русские буквы в файле бекапа стали
    ÐåäÃВ*êòèðîâÃВ*ГѓВІГѓВј ГѓВ*ГѓВ*ñòðîéêè
    Как можно перекодировать все назад?????
    срочно надо :confused:
     
  20. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    при импорте нада кодировку выбрать такуюже как на сайте, заново импортируй с правильной кодировкой
     
Thread Status:
Not open for further replies.