Переменная как обьект базы данных

leosun

Новичок
Переменная как обьект базы данных

Опиши свою идею, хочется сделать так что бы переменная была связана с базой данных, например что бы я делал так
$user_tb['date'] = '14.12.2009' и запись шла в базу данных, т.е. инициировался запрос UPDATE user SET date = '14.12.2009' WHERE userid = $_SESSION['userid'], и при чтение echo $user_tb['date'] данные считывались из базы, попробовал сделать это через сессии, с чтением данных проблем нет, а вот с записью есть, т.к. как меня просветили запись сессий иницируется либо функцией либо в конце работы скрипта. Вот вопрос какие еще возможности есть, что бы привязать обращение переменной к своим функциям?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
такое впечатление, будто ты ошибся окном и вместо сообщения по аське кому-то написал на форум
 

Фанат

oncle terrible
Команда форума
leosun, делается это элементарно, но ты можешь объяснить - зачем?
и при ем тут сессии?
 

leosun

Новичок
Автор оригинала: *****
leosun, делается это элементарно, но ты можешь объяснить - зачем?
и при ем тут сессии?
У меня работа идет с одной таблицей, при авторизации устанавливается в сессию userid, и дальше идет по коду работа с этой одной таблицей,
не хочется делать каждый раз $sql = 'SELECT `city` FROM user WHERE userid = '.$_SESSION['userid'], UPDATE user SET `age` = '12' WHERE userid = $_SESSION['userid'], хочется привязать таблицу к переменной и делать чтение так echo $user_tb['city'], а запись так $uset_tb['age'] = 12, просто так удобнее...

-~{}~ 13.05.09 14:08:

P.S. делать функцию типо get_fld(city) set_fld(age,12) тоже не хочется, хочу что бы все было просто через запись и чтение переменной...
 

Фанат

oncle terrible
Команда форума
это ты вычитал где-то, что так удобнее, или сам придумал?
 

leosun

Новичок
Автор оригинала: *****
это ты вычитал где-то, что так удобнее, или сам придумал?
Мне так удобнее, есть переменная - массив с клчами, она привязана к базе, делая запись в переменную все отражается на базу, делая изменения в базе это отражается на переменной. Есть способ так сделать или нет?

-~{}~ 13.05.09 14:19:

Вот что-то в роде oci_bind_by_name только для MySQL базы, так что можно сказать я хочу такое же что придумали для оракла...
 

Фанат

oncle terrible
Команда форума
Это ты хочешь делать со всеми, любыми переменными в скрипте?

-~{}~ 13.05.09 14:23:

oci_bind_by_name делает совсем не это
 

leosun

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

-~{}~ 13.05.09 14:27:

$update = oci_parse($conn, "
UPDATE
emp
SET
sal = :sal
WHERE
ROWID = :rid
");
oci_bind_by_name($update, ":rid", $rowid, -1, OCI_B_ROWID);
oci_bind_by_name($update, ":sal", $sal, 32);

вот тут не будет вызвана UPDATE при записи данных в $sal
 

Фанат

oncle terrible
Команда форума
но апдейт-то ты потом все равно будешь вызывать?
не автоматом он произойдет, в момент присвоения значения переменной? где здесь похожее на твои фантазии?

И как пхп будет отличать твои особенные переменные от обычных?
 

leosun

Новичок
вот и вопрос как это сделать, отличать будет их так

вызову функцию bind($user);

которая привяжет $user к таблице, вопрос в том есть вообще возможность установить функцию на запись / чтение переменной.

-~{}~ 13.05.09 14:37:

Да UPDATE придется вызывать, oci_execute($update); в том и загвозда что я видел пример где было так $_SESSION['city'] = 'sdasd' и в базе в таблице user в поле city обновлялись данные, и наоборот в базе меняем даные в поле city и в сесии они тоже меняются, второе я сделал, а первое не получается.
 

Фанат

oncle terrible
Команда форума
базара нет, это сделать несложно. но не рантайм, как ты хочешь.
нафига тебе во время исполнения скрипта базу дергать десать раз вместо того чтобы один раз по завершении?
 
Сверху