помогите пожалуйста php? mysql

B
На сайте с 16.03.2009
Offline
8
477

цель фрагмента скрипта поднять рейтинг комментирующего пользователя на 1

вроде бы фрагмент вставлен в нужном месте, составлен правильно, но не работает

может быть вы поможете выявить ошибки?

//повышаем рейтинг

//берем рейтинг комментатора

Global $DB;

$sql= "SELECT user_rate

FROM evo_users

WHERE user_ID = $current_User->ID";

$qry = mysql_query($sql);

//увеличиваем

$ret = ++$sql;

//записываем обновленный рейтинг

$query=" UPDATE evo_users

SET

user_rate = $ret

WHERE user_ID = $current_User->ID";

$qry = mysql_query($query);

//поднятие окончено)

zaka4ek
На сайте с 24.03.2007
Offline
209
#1

$ret = $sql++;

А разве не так?

P.S. Я не спец. по php

Продвигай с умом Sape (http://www.sape.ru/r.yoJRtSiZZR.php) Продвигай с умом Gogetlinks (https://gogetlinks.net/?inv=sya7n2)
B
На сайте с 16.03.2009
Offline
8
#2
zaka4ek:
$ret = $sql++;

А разве не так?
P.S. Я не спец. по php

если так, то в начале $ret присвоится $sql, а потом уже само $sql увеличится на 1. то есть $ret не увеличится

BR
На сайте с 28.06.2008
Offline
75
#3

Перепишите SQL-запросы:

$sql= "SELECT user_rate FROM evo_users WHERE user_ID = ".$current_User->ID;

Вот это место непонятно:


$qry = mysql_query($sql);
//увеличиваем
$ret = ++$sql;

- Вы подредактировали реальный скрипт? Где из $qry Вы вытаскиваете результат выполнения запроса? В $sql у Вас текст SQL-запроса, какой смысл его увеличивать на единицу?

размещение сайтов (http://www.brim.ru)
J
На сайте с 02.02.2009
Offline
53
#4
bloodtar:
цель фрагмента скрипта поднять рейтинг комментирующего пользователя на 1
вроде бы фрагмент вставлен в нужном месте, составлен правильно, но не работает
может быть вы поможете выявить ошибки?

//повышаем рейтинг
//берем рейтинг комментатора
Global $DB;
$sql= "SELECT user_rate
FROM evo_users
WHERE user_ID = $current_User->ID";
$qry = mysql_query($sql);
//увеличиваем
$ret = ++$sql;
//записываем обновленный рейтинг
$query=" UPDATE evo_users
SET
user_rate = $ret
WHERE user_ID = $current_User->ID";
$qry = mysql_query($query);
//поднятие окончено)


$query = "UPDATE evo_users SET user_rate=user_rate+1 WHERE user_ID=$current_User->ID"

А ваше работать не будет в целом)

alexspb
На сайте с 14.11.2005
Offline
187
#5

попробуйте вывести сформированные запросы и посмотреть нет ли ошибки в них

т.е.

echo $query

Возможно надо переменную $current_User->ID взять в фигурные скобки {$current_User->ID} (может не обрабатывается как переменная)

Ну и выше вам правильно подсказывают как запросом инкременировать

SET user_rate=user_rate+1

Brim.ru:
В $sql у Вас текст SQL-запроса, какой смысл его увеличивать на единицу?

Блин, слона то я и не приметил )))

B
На сайте с 16.03.2009
Offline
8
#6
Brim.ru:
Перепишите SQL-запросы:
$sql= "SELECT user_rate FROM evo_users WHERE user_ID = ".$current_User->ID;


- Вы подредактировали реальный скрипт? Где из $qry Вы вытаскиваете результат выполнения запроса? В $sql у Вас текст SQL-запроса, какой смысл его увеличивать на единицу?

это полностью мой скрипт

malls
На сайте с 08.08.2005
Offline
255
#7

А зачем сначала "брать рейтинг" ???

//сразу записываем обновленный рейтинг (т.е. увеличиваем его на единицу)

$query=" UPDATE evo_users

SET user_rate = user_rate + 1

WHERE user_ID = $current_User";

$qry = mysql_query($query);

//поднятие окончено)

B
На сайте с 16.03.2009
Offline
8
#8

спасибо огромное всем, заработало:):):)

больше не будет ошибок с подобным

sowich
На сайте с 11.06.2007
Offline
26
#9

$sql= "SELECT user_rate

FROM evo_users
WHERE user_ID = $current_User->ID";
$qry = mysql_query($sql);
//увеличиваем
$ret = ++$sql;

без коментов

Мой блог (http://sowich.info) Пишу скрипты на php, perl - велком!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий