[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обновление записи в БД
Страницы: 1, 2
60reg
Добрый день!

скажите пожалуйста как сделать чтобы фото в бд обновилось...

когда пользователь входит на сайт через вк, отображается его аватар,
а если в вк поменять аватар, то на моём сайте остается прежний аватар!

вот как я это делаю!

function getUserPhoto(){
$q = $this->db->mysql_qw("SELECT photo_100 FROM users WHERE uid = ?;",$this->uid); //получаю фотографию
$arr = mysql_fetch_assoc($q);
$name = $arr['photo_100'];
return $name;
}


_____________
PRchik.ru | Раскрутись и заработай!
T1grOK
При авторизации запрашивать у VK аватарку и сравнивать с той, что в БД.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
60reg
перед добавлением фото я вставляю вот эту строчку,
mysql_query("DELETE FROM `users` WHERE `photo_100`  = ?;",$this->uid);

чтобы фото удалилось, и новая ава записалась...
но ничего не происходит!

_____________
PRchik.ru | Раскрутись и заработай!
T1grOK
Оуч..так это не удаление фото...это удаление всей строки из базы. Используй UPDATE для обновления.


_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
60reg
Теперь сделол так...
function getUserPhoto(){
$q = $this->db->mysql_qw("UPDATE users SET photo_100 WHERE uid = ?;",$r, $this->uid);
$q = $this->db->mysql_qw("SELECT photo_100 FROM users WHERE uid = ?;",$this->uid);
$arr = mysql_fetch_assoc($q);
$name = $arr['photo_100'];
return $name;
}


и все исчезло... ни фото, ни имени, ни баланса((

_____________
PRchik.ru | Раскрутись и заработай!
Xes
SET photo_100
Перевод: "Установить photo_100". Установить равным чему ?. SET photo_100 = 'ЗНАЧЕНИЕ'
60reg
Можно поподробнее.... как исправить строчку?

_____________
PRchik.ru | Раскрутись и заработай!
Xes
UPDATE users SET photo_100='НОВОЕ ЗНАЧЕНИЕ ЯЧЕЙКИ' WHERE uid = ?
60reg
Цитата
UPDATE users SET photo_100='НОВОЕ ЗНАЧЕНИЕ ЯЧЕЙКИ' WHERE uid = ?


ток что ставить-то в НОВОЕ ЗНАЧЕНИЕ ЯЧЕЙКИ ??

_____________
PRchik.ru | Раскрутись и заработай!
60reg
вот вставил!

function getUserPhoto(){
$q = $this->db->mysql_qw("UPDATE users SET photo_100='$photo_100' WHERE uid = ?",$this->uid);
$q = $this->db->mysql_qw("SELECT photo_100 FROM users WHERE uid = ?;",$this->uid);
$arr = mysql_fetch_assoc($q);
$name = $arr['photo_100'];
return $name;
}


но теперь в бд ничего не записывается!

_____________
PRchik.ru | Раскрутись и заработай!
bybad
Цитата (60reg @ 23.09.2013 - 12:20)
но теперь в бд ничего не записывается!

Не профи в PHP но предполагаю что при первом визите и авторизации пользователя нужно занести данные в БД через INSERT, а при повторном посещении запрашивать новые данные и тогда уже обновлять этого пользователя через UPDATE.
60reg
так как сама должна выглядеть строка UPDATE ????

у меня правильно написано??? если нет то подскажите пожалуйста!

_____________
PRchik.ru | Раскрутись и заработай!
bybad
Цитата (60reg @ 23.09.2013 - 21:22)
так как сама должна выглядеть строка UPDATE  ????

у меня правильно написано???  если нет то подскажите пожалуйста!

UPDATE users SET photo_100='$photo_100' where uid='$uid'

По-русски это примерно так, обновить таблицу "users" и заменить поле "photo_100" на переменную "$photo_100" где уникальный идентификатор пользователя = $uid.

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

Как то так.
60reg
вот пишу.... и ничего не обновляется.. а загружается предыдущая фотография

function getUserPhoto(){
mysql_query("UPDATE users SET photo_100='$photo_100'WHERE uid=$uid");
$q = $this->db->mysql_qw("SELECT photo_100 FROM users WHERE uid = ?;",$this->uid);
$arr = mysql_fetch_assoc($q);
$name = $arr['photo_100'];
return $name;
}


_____________
PRchik.ru | Раскрутись и заработай!
Xes
А ошибки не выводит?
Яб предпочел так написать
 mysql_query("UPDATE `users` SET `photo_100`='".$photo_100."' WHERE `uid`='".$uid."'");
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.