Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
13 / 13 / 6
Регистрация: 07.02.2013
Сообщений: 214

Как хранить переменные на сервере

23.04.2014, 22:03. Показов 3148. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть сервер с PHP и MySQL, надо придумать как там хранить переменные, которые будут очень часто изменяться. PHP будет посредником для обмена переменными между какой-то технологией их хранения на сервере и стороннего приложения. Есть вариант использования БД, но тогда мне нужна всего одна строка и я не знаю как редактировать значение в определенной строке.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.04.2014, 22:03
Ответы с готовыми решениями:

Как хранить пользовательские данные на сервере?
Пример: пользователь пишет пост, возможно прикрепляет картинку, загружает на сервер. В каком виде это всё лучше хранить? Если в файловой...

Как правильно хранить объект на сервере?
Как хранить мой объект на сервере? Вот так работать правильно или нет? Т.е. я создал объект и сохранил его в сессии, а потом...

Как хранить сессионные переменные в SQL Server ?
Когда происходит recycling ASP NET worker process сессионные переменные теряются. Я читал, что рекомендуется хранить сессионные...

7
9 / 9 / 2
Регистрация: 13.04.2014
Сообщений: 60
23.04.2014, 22:17
Опиши подробнее что это за переменная, из чего будет состоять и как использоваться.
0
13 / 13 / 6
Регистрация: 07.02.2013
Сообщений: 214
23.04.2014, 22:23  [ТС]
Их много, тип - байт, программа на Visual Basic .NET будет получать и устанавливать их значения с помощью запросов к скрипту PHP, который лежит на сервере.
0
112 / 93 / 15
Регистрация: 03.10.2012
Сообщений: 315
24.04.2014, 00:17
Лучший ответ Сообщение было отмечено Declarer как решение

Решение

Как-то так
SQL
1
2
3
4
CREATE TABLE params (
    `name` VARCHAR(50) NOT NULL UNIQUE,
    `value` BLOB
);
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
$db = new MySQLi('dbServer', 'dbUser', 'dbPassword', 'dbName');
if ($db->connnect_error) {
    die ("Connection error ({$db->connect_errno}): {$db->connect_error}");
}
 
$request = array(
    'action' => null,
    'param' => null,
    'value' => null,
);
 
foreach ($request as $key => $value) {
    if ( !empty($_GET[$key]) ) {
        $request[$key] = $_GET[$key];
    }
}
 
if ( empty($request['action']) || empty($request['param']) ) {
    header('HTTP/1.0 400 Bad request');
}
 
switch ($request['action']) {
    case 'get':
        
        $query = "SELECT value FROM params WHERE name = ?";
        
        $stmt = $db->prepare($query);
        $stmt->bind_param('s', $request['param']);
        $stmt->execute();
        $stmt->store_result();
        
        if ($stmt->num_rows) {
            $stmt->bind_result($value);
            $stmt->fetch();
        
            echo $value;
        
            $stmt->free_result();
        } else {
            header('HTTP/1.0 404 Not Found');
        }
 
        $stmt->close();
 
        break;
    case 'set':
 
        $query = "INSERT IGNORE INTO params VALUES(?, ?) ON DUPLICATE KEY UPDATE value = ?";
 
        $stmt = $db->prepate($query);
        $stmt->bind_param(
            'sbb', // поправил типы параметров
            $request['param'],
            $request['value'],
            $request['value']
        );
        $stmt->execute();
        $stmt->close();
 
        break;
    default:
 
        header('HTTP/1.0 400 Bad Request');
 
        break;
}
Использовать как-то так
- http://server.com/script.php?action=get&param=foo - получить значения параметра foo
- http://server.com/script.php?a... o&value=10 - установить значение параметра foo равным 10
1
91 / 91 / 23
Регистрация: 02.09.2013
Сообщений: 276
24.04.2014, 07:29
Есть сервер с PHP и MySQL, надо придумать как там хранить переменные, которые будут очень часто изменяться. PHP будет посредником для обмена переменными между какой-то технологией их хранения на сервере и стороннего приложения. Есть вариант использования БД, но тогда мне нужна всего одна строка и я не знаю как редактировать значение в определенной строке.
Если это делается "на лету", то проще всего писать куда-нибудь во временный файл.
Если нужно постоянное хранение и/или логирование, тогда лучше использовать БД
0
13 / 13 / 6
Регистрация: 07.02.2013
Сообщений: 214
24.04.2014, 16:53  [ТС]
r3ntg3n, спасибо, все ок, только тут опечатка, надо prepare.
Цитата Сообщение от r3ntg3n Посмотреть сообщение
$stmt = $db->prepate($query);
Добавлено через 36 минут
Что-то не хочет устанавливать параметр, хотя он и создается, но значение пустое.
0
112 / 93 / 15
Регистрация: 03.10.2012
Сообщений: 315
24.04.2014, 17:04
а вы как смотрите?

Добавлено через 7 минут
Замените в строке 52 sdd на sss
1
13 / 13 / 6
Регистрация: 07.02.2013
Сообщений: 214
24.04.2014, 17:11  [ТС]
Через phpMyAdmin

Добавлено через 3 минуты
Теперь все работает, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.04.2014, 17:11
Помогаю со студенческими работами здесь

Как соединить 2 кода воедино или как хранить переменные в массиве?
Уважаемые форумчане, есть 2 кода, один умеет через меню выводить текст хранящийся в массиве(далее код1), а второй умеет получать текст с...

Как хранить стейт на сервере или красиво нормально жить на клиенте?
Думал, как назвать тему - ничего лучше не придумал :) Начну сначала. Написал я Лисп. Очередной. После Хаселя и Джавы (скатился :)) На 1С8.2...

JScript.NET Evaluate: как и где хранить переменные скриптов
Доброго времени суток! Как исполнить код на JScript в C#, я уже нашёл на форуме. Ну, точнее, я нашёл такой способ: using...

Хранить ли картинки у себя на сервере?
Возник вопрос, у меня есть блог, в котором достаточно часто использую картинки для оформления постов. Вопрос насколько критично...

в чем хранить переменные?
в чем хранить переменные? нужно хранить 4 столбца, а количество строк может как уменьшаться (будет функция удаления), так и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru