1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

MySQL хранение подобия массивов

Тема в разделе "Базы данных и администрирование", создана пользователем -, 24 май 2004.

Статус темы:
Закрыта.
  1. Гость

    Репутация:
    0
    Работаю на PHP.

    Подскажите, есть ли возможность в MySQL (3.23) размещать что-то типа массива в поле.

    Значение, как и количество значений, могжет быть любое количество.

    Сейчас я извращаюсь вот так (в поле базы пишу так):
    Код:
    znachenie1|znachenie2|znachenie3
    А в скрипте уже достаю так:
    Код:
    $значения = explode('|',$row['massiv']);
    может можно сразу примерно так (?):
    Код:
    echo $row['massiv'][0]; //znachenie1
     
  2. jaunty

    jaunty Гость

    Репутация:
    0
    есть такая функция:
    serialize()
    и еще
    unserialize()
    они и помогут избежать
    а столбцов для хранения массивов нет
     
  3. Guest

    Guest Гость

    Репутация:
    0
    У вас видимо проблемы с нормализацией таблицы, раз у вас элемент кортежа должен содержать множество значений. Рекомендую пересмотреть структуру базы данных.
     
  4. Гость

    Репутация:
    0
    Конечно, можно. Только не так. Лично я использую следущий метод.

    Код:
    $array = array(1, 2, 3);
    //некий массив
    
    $array_serialized = serialize($array);
    //эта переменная - текстовая, но содержит наш массив, записанный своим "кодом"
    
    mysql_query("UPDATE TABLE `table` SET `field` = '".$array_serialized."'");
    //записываем её в таблицу
    
    $sql = mysql_query("SELECT * FROM `field`");
    //читаем SQL данные
    
    $temp = mysql_fetch_assoc($sql);
    
    $array = unserialize( $temp['field'] );
    //получаем свой массив.
    Твой способ плох тем, что сложный ассоциативный (к примеру) массив, как и любой многомерный, ты не сохранишь. А эта функция позволяет сохранить)
     
  5. RegHar

    RegHar Гость

    Репутация:
    0
    А в каком типе оптимальнее хранить в MySQL такие серилизованные данные?
     
  6. etc

    etc Гость

    Репутация:
    0
    в бинарном, очевидно
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей