Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Хранение значения переменной в MySQL-базе

Ответить
Настройки темы
MySQL - Хранение значения переменной в MySQL-базе

Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


Здравствуйте!
У меня маленькая проблемка:
Имею в БД таблицу, в которой хранятся переменные и их значения:
т.е. 2 столбца: variable_name и variable_value.
Мне нужно чтобы запрос из PHP файла к таблице по имени переменной забирал её значение.


Делал так:
Код: Выделить весь код
$sql = "SELECT `sv_value` FROM `ServerVariables` WHERE `sv_name` = 'current_dir'";
$path = mysql_query($sql) or die ("err_code = " . mysql_error());
Ошибки нет, но $path получает значение 1 (или Resource id #3), хотя в базе указано значение 10000.
Кстати, что такое "Resource id #3"? В мануале не нашёл.

Пытался исправить запрос следующим образом:
Код: Выделить весь код
$sql = "SELECT `sv_value` FROM `ServerVariables` WHERE `sv_name` = 'current_dir'";
$result = mysql_query($sql) or die ("err_code = " . mysql_error());
$path = mysql_result($result, 2);
Но это возвращает ошибку.

Как мне добится забирания из таблицы того значения переменной, которое там указано?

Отправлено: 22:09, 10-07-2009

 

Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


А что такое 'current_dir'? Где $?
Если не проходит запрос сделай echo $sql; - помогает понять совпадает ли настоящий запрос с задуманным.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 22:21, 10-07-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Цитата ManHack:
Ошибки нет, но $path получает значение 1 (или Resource id #3), хотя в базе указано значение 10000. »
Всё правильно. Вы запрашиваете ресурс, а не значение.
Теперь надо ресурс обработать:
PHP код: Выделить весь код

$sql "SELECT `sv_value` FROM `ServerVariables` WHERE `sv_name` = 'current_dir'";

$path mysql_query($sql) or die ("err_code = " mysql_error());
$result mysql_fetch_array($path);
echo 
$result['current_dir'];
// или так:
echo $result[0]; 

PHP код: Выделить весь код

$sql "SELECT `sv_value` FROM `ServerVariables` WHERE `sv_name` = 'current_dir'";

$result mysql_query($sql) or die ("err_code = " mysql_error());
$path mysql_result($result2); 

А здесь - вы пытаетесь извлечь 3 столбец, хотя запросили всего один. Поставьте 0 вместо 2.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:21, 10-07-2009 | #3


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


А я подумал про переменную, а это оказывается название. Короче меня читать не надо

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:30, 10-07-2009 | #4


Deadooshka


Сообщения: 2511
Благодарности: 689

Профиль | Отправить PM | Цитировать


Coutty, mysql_fetch_array вроде бы массив массивов выдает...
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:18, 10-07-2009 | #5


Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


Coutty, вроде бы правильно то, что ты говоришь, но не работает, всё-равно то же значение выводит.

Код: Выделить весь код
$sql = "SELECT `sv_value` FROM `ServerVariables` WHERE `sv_name` = 'current_dir'";
$result = mysql_query($sql) or die ("err_code = " . mysql_error());
$path = mysql_result($result, 2);
выводит абсолютно белый экран, без каких-либо ошибок...

Отправлено: 00:20, 11-07-2009 | #6


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


Проверить запрос через phpmyadmin.
Раз ошибок нет запрос вернул пустой результат.
И исправь всё-таки последнюю строчку.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 09:25, 11-07-2009 | #7


Deadooshka


Сообщения: 2511
Благодарности: 689

Профиль | Отправить PM | Цитировать


PHP код: Выделить весь код

$path mysql_result($result0); 


PHP код: Выделить весь код

$result mysql_fetch_array($path); 

echo 
$result[0]['current_dir']; 
// или так: 
echo $result[0][0]; 


Отправлено: 10:02, 11-07-2009 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Хранение значения переменной в MySQL-базе

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Проблемы с доступом к базе MySQL Alexey2006 Вебмастеру 4 16-01-2009 21:57
C/C++ - [решено] Непонятка при присвоении значения переменной, имеющей тип: перечисление. Oleg_SK Программирование и базы данных 5 04-12-2008 07:22
VBS/WHS/JS - Вывод значения переменной в сообщение la_vanille_ciel Программирование и базы данных 3 09-04-2008 11:55
MySQL как выбрать 3 значения из разных таблиц? benya Вебмастеру 5 28-07-2005 17:02
php деление значения строковой переменной Guest Вебмастеру 4 14-10-2004 17:12




 
Переход